[{"data":1,"prerenderedAt":856},["ShallowReactive",2],{"navigation_docs":3,"-herencia-polimorfismo":412,"-herencia-polimorfismo-surround":853},[4,18,43,118,160,200,231,320,346],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Evaluación","\u002Fintroduction","1.introduction\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Método de Evaluación","i-iconamoon-cheque-bold",{"title":13,"path":14,"stem":15,"icon":16},"Plataforma de Aprendizaje","\u002Fintroduction\u002Fplataforma","1.introduction\u002F2.plataforma","i-lucide-book-marked","i-lucide-house",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":42},"Entorno de desarrollo","i-codicon-edit-code","\u002Fide","2.ide",[24,28,33,37],{"title":25,"path":26,"stem":27,"icon":20},"¿Qué es un IDE?","\u002Fide\u002Fentorno","2.ide\u002F1.entorno",{"title":29,"path":30,"stem":31,"icon":32},"Estructura de un Proyecto","\u002Fide\u002Festructura","2.ide\u002F2.estructura","i-clarity-tree-view-line",{"title":34,"path":35,"stem":36,"icon":20},"La compilación en un IDE","\u002Fide\u002Fcompilacion","2.ide\u002F3.compilacion",{"title":38,"path":39,"stem":40,"icon":41},"Depuración de Código","\u002Fide\u002Fdepurar","2.ide\u002F4.depurar","i-lucide-bug",false,{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":42},"Clases y Objetos","i-catppuccin-java-class","\u002Fclases-objetos","3.clases-objetos",[49,53,57,62,66,70,74,78,83,88,92,96,101,106,110,114],{"title":50,"path":51,"stem":52},"Repaso previo a Clases y Objetos","\u002Fclases-objetos\u002Fpreview","3.clases-objetos\u002F00.preview",{"title":54,"path":55,"stem":56,"icon":45},"¿Qué es la Programación Orientada a Objetos (POO)?","\u002Fclases-objetos\u002Fpoo","3.clases-objetos\u002F01.poo",{"title":58,"path":59,"stem":60,"icon":61},"Diagramas de Clases y Objetos","\u002Fclases-objetos\u002Fdiagramas","3.clases-objetos\u002F02.diagramas","i-devicon-uml",{"title":63,"path":64,"stem":65,"icon":45},"Las Clases","\u002Fclases-objetos\u002Fclases","3.clases-objetos\u002F03.clases",{"title":67,"path":68,"stem":69,"icon":45},"Ámbito y Visibilidad","\u002Fclases-objetos\u002Fambito","3.clases-objetos\u002F04.ambito",{"title":71,"path":72,"stem":73,"icon":45},"Declaración e Instanciación de Objetos","\u002Fclases-objetos\u002Fobjetos","3.clases-objetos\u002F05.objetos",{"title":75,"path":76,"stem":77,"icon":45},"Clases Predefinidas en Java","\u002Fclases-objetos\u002Fpredefinidas","3.clases-objetos\u002F06.predefinidas",{"title":79,"path":80,"stem":81,"icon":82},"Paquetes en Java","\u002Fclases-objetos\u002Fpaquetes","3.clases-objetos\u002F07.paquetes","i-material-icon-theme-folder-java-open",{"title":84,"path":85,"stem":86,"icon":87},"Las Excepciones","\u002Fclases-objetos\u002Fexcepciones","3.clases-objetos\u002F08.excepciones","i-catppuccin-java-exception",{"title":89,"path":90,"stem":91,"icon":45},"La clase JOptionPane","\u002Fclases-objetos\u002Fjoptionpane","3.clases-objetos\u002F09.joptionpane",{"title":93,"path":94,"stem":95,"icon":45},"Constructores y Accesores","\u002Fclases-objetos\u002Fconstructores","3.clases-objetos\u002F10.constructores",{"title":97,"path":98,"stem":99,"icon":100},"Tipos Enumerados (Enums)","\u002Fclases-objetos\u002Fenumerados","3.clases-objetos\u002F11.enumerados","i-catppuccin-java-enum",{"title":102,"path":103,"stem":104,"icon":105},"Modificadores de acceso static y final","\u002Fclases-objetos\u002Fmodificadores","3.clases-objetos\u002F12.modificadores","i-mdi-chart-box",{"title":107,"path":108,"stem":109,"icon":105},"El casting en Java","\u002Fclases-objetos\u002Fcasting","3.clases-objetos\u002F13.casting",{"title":111,"path":112,"stem":113},"Las Expresiones Regulares","\u002Fclases-objetos\u002Fexpresiones-regulares","3.clases-objetos\u002F14.expresiones-regulares",{"title":115,"path":116,"stem":117,"icon":105},"Clases Genéricas en Java","\u002Fclases-objetos\u002Fclases-genericas","3.clases-objetos\u002F15.clases-genericas",{"title":119,"icon":120,"path":121,"stem":122,"children":123,"page":42},"Funciones (Métodos)","i-material-symbols-function","\u002Fmetodos","4.metodos",[124,128,132,136,140,144,148,152,156],{"title":125,"path":126,"stem":127},"Funciones Genéricas","\u002Fmetodos\u002Ffuncion-generica","4.metodos\u002F01.funcion-generica",{"title":129,"path":130,"stem":131},"Métodos de Instancia y de Clase","\u002Fmetodos\u002Finstancia-clase","4.metodos\u002F02.instancia-clase",{"title":133,"path":134,"stem":135},"Sobrecarga de Funciones","\u002Fmetodos\u002Fsobrecarga","4.metodos\u002F03.sobrecarga",{"title":137,"path":138,"stem":139},"Alcance de Variables y Métodos","\u002Fmetodos\u002Falcance","4.metodos\u002F04.alcance",{"title":141,"path":142,"stem":143},"Recursividad","\u002Fmetodos\u002Frecursividad","4.metodos\u002F05.recursividad",{"title":145,"path":146,"stem":147},"Puntero this","\u002Fmetodos\u002Fthis","4.metodos\u002F06.this",{"title":149,"path":150,"stem":151},"Los argumentos variables (varargs)","\u002Fmetodos\u002Fvarargs","4.metodos\u002F07.varargs",{"title":153,"path":154,"stem":155},"La clase Arrays","\u002Fmetodos\u002Farrays","4.metodos\u002F08.arrays",{"title":157,"path":158,"stem":159},"Predicados Simples y Compuestos en Java","\u002Fmetodos\u002Fpredicados","4.metodos\u002F09.predicados",{"title":161,"path":162,"stem":163,"children":164,"icon":199},"Herencia","\u002Fherencia","5.herencia\u002F01.index",[165,167,171,175,179,183,187,191,195],{"title":166,"path":162,"stem":163},"¿Qué es la herencia?",{"title":168,"path":169,"stem":170},"Sobreescritura de métodos y uso de `super`","\u002Fherencia\u002Fsobeescritura","5.herencia\u002F02.sobeescritura",{"title":172,"path":173,"stem":174},"Tipos de herencia","\u002Fherencia\u002Ftipos-herencia","5.herencia\u002F03.tipos-herencia",{"title":176,"path":177,"stem":178},"La clase Object en Java","\u002Fherencia\u002Fobject","5.herencia\u002F04.object",{"title":180,"path":181,"stem":182},"Polimorfismo","\u002Fherencia\u002Fpolimorfismo","5.herencia\u002F05.polimorfismo",{"title":184,"path":185,"stem":186},"Clases y Funciones Abstractas","\u002Fherencia\u002Fabstract","5.herencia\u002F06.abstract",{"title":188,"path":189,"stem":190},"Interfaces","\u002Fherencia\u002Finterfaces","5.herencia\u002F07.interfaces",{"title":192,"path":193,"stem":194},"Funciones e Interfaces","\u002Fherencia\u002Ffunciones-interfaces","5.herencia\u002F08.funciones-interfaces",{"title":196,"path":197,"stem":198},"Interfaces y Funciones Lambda","\u002Fherencia\u002Flambda-interface","5.herencia\u002F09.lambda-interface","i-material-symbols-heritage",{"title":201,"path":202,"stem":203,"children":204,"icon":199},"Arreglos","\u002Farreglos","6.arreglos\u002F01.index",[205,207,211,215,219,223,227],{"title":206,"path":202,"stem":203},"Los arreglos en Java",{"title":208,"path":209,"stem":210},"Los arreglos","\u002Farreglos\u002Farray","6.arreglos\u002F02.array",{"title":212,"path":213,"stem":214},"Matrices","\u002Farreglos\u002Fmatrices","6.arreglos\u002F03.matrices",{"title":216,"path":217,"stem":218},"Comparadores","\u002Farreglos\u002Fcomparator","6.arreglos\u002F04.comparator",{"title":220,"path":221,"stem":222},"Arreglos dinámicos: ArrayList","\u002Farreglos\u002Farraylist","6.arreglos\u002F05.arraylist",{"title":224,"path":225,"stem":226},"Arreglos Relacionales: HashMap","\u002Farreglos\u002Fhashmap","6.arreglos\u002F06.hashmap",{"title":228,"path":229,"stem":230},"La clase Stream en Java","\u002Farreglos\u002Fstream","6.arreglos\u002F07.stream",{"title":232,"icon":199,"path":233,"stem":234,"children":235,"page":42},"Archivos e Interfaz de Usuario","\u002Farchivos-ui","7.archivos-ui",[236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316],{"title":237,"path":238,"stem":239},"El paquete Swing","\u002Farchivos-ui\u002Fswing","7.archivos-ui\u002F01.swing",{"title":241,"path":242,"stem":243},"La clase JFrame y el JPanel","\u002Farchivos-ui\u002Fjpanel","7.archivos-ui\u002F02.jpanel",{"title":245,"path":246,"stem":247},"Los Layouts en Swing","\u002Farchivos-ui\u002Flayout","7.archivos-ui\u002F03.layout",{"title":249,"path":250,"stem":251},"Iniciando con Swing","\u002Farchivos-ui\u002Finiciando","7.archivos-ui\u002F04.iniciando",{"title":253,"path":254,"stem":255},"Las clases Color y Font en Swing","\u002Farchivos-ui\u002Fcolor-font","7.archivos-ui\u002F05.color-font",{"title":257,"path":258,"stem":259},"Etiquetas en Swing","\u002Farchivos-ui\u002Fetiquetas","7.archivos-ui\u002F06.etiquetas",{"title":261,"path":262,"stem":263},"Personalizando la apariencia de los componentes en Swing","\u002Farchivos-ui\u002Fpersonalizando","7.archivos-ui\u002F07.personalizando",{"title":265,"path":266,"stem":267},"Sobrescribiendo el método drawComponent() en Swing","\u002Farchivos-ui\u002Fdraw","7.archivos-ui\u002F08.draw",{"title":269,"path":270,"stem":271},"Manejando eventos en Swing","\u002Farchivos-ui\u002Feventos","7.archivos-ui\u002F09.eventos",{"title":273,"path":274,"stem":275},"Personalización de Componentes mediante la Extensión de Clases en Swing","\u002Farchivos-ui\u002Fextends-component","7.archivos-ui\u002F10.extends-component",{"title":277,"path":278,"stem":279},"Gradientes","\u002Farchivos-ui\u002Fgradientes","7.archivos-ui\u002F11.gradientes",{"title":281,"path":282,"stem":283},"Botones en Swing","\u002Farchivos-ui\u002Fbotones","7.archivos-ui\u002F12.botones",{"title":285,"path":286,"stem":287},"Los delegadores en Swing","\u002Farchivos-ui\u002Fdelegadores","7.archivos-ui\u002F13.delegadores",{"title":289,"path":290,"stem":291},"UI para nuestro RPG: Parte 1","\u002Farchivos-ui\u002Frpg-ui-1","7.archivos-ui\u002F14.rpg-ui-1",{"title":293,"path":294,"stem":295},"UI para nuestro RPG: Parte 2","\u002Farchivos-ui\u002Frpg-ui-2","7.archivos-ui\u002F15.rpg-ui-2",{"title":297,"path":298,"stem":299},"Los Streams Entrada y Salida","\u002Farchivos-ui\u002Fstreams","7.archivos-ui\u002F16.streams",{"title":301,"path":302,"stem":303},"Archivo tipo Objeto","\u002Farchivos-ui\u002Farchivo-objeto","7.archivos-ui\u002F17.archivo-objeto",{"title":305,"path":306,"stem":307},"UI para nuestro RPG: Parte 3","\u002Farchivos-ui\u002Frpg-ui-3","7.archivos-ui\u002F18.rpg-ui-3",{"title":309,"path":310,"stem":311},"UI para nuestro RPG: Parte 4","\u002Farchivos-ui\u002Frpg-ui-4","7.archivos-ui\u002F19.rpg-ui-4",{"title":313,"path":314,"stem":315},"UI para nuestro RPG: Parte 5","\u002Farchivos-ui\u002Frpg-ui-5","7.archivos-ui\u002F20.rpg-ui-5",{"title":317,"path":318,"stem":319},"UI para nuestro RPG: Parte 6","\u002Farchivos-ui\u002Frpg-ui-6","7.archivos-ui\u002F21.rpg-ui-6",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":42},"Ejemplos","i-check-circle","\u002Fejemplos","8.ejemplos",[326,330,334,338,342],{"title":327,"path":328,"stem":329,"icon":105},"Ejemplo 1: Validando entradas con JOptionPane","\u002Fejemplos\u002Fejemplo-01","8.ejemplos\u002F01.ejemplo-01",{"title":331,"path":332,"stem":333},"Ejemplo 02: Uso de clases genéricas en Java","\u002Fejemplos\u002Fejemplo-02","8.ejemplos\u002F02.ejemplo-02",{"title":335,"path":336,"stem":337},"Ejemplo 03: Uso de Enum, Excepciones en Java","\u002Fejemplos\u002Fejemplo-03","8.ejemplos\u002F03.ejemplo-03",{"title":339,"path":340,"stem":341},"Ejemplo 4: Clase con funciones genéricas de validación","\u002Fejemplos\u002Fejemplo-04","8.ejemplos\u002F04.ejemplo-04",{"title":343,"path":344,"stem":345},"Ejemplo 5: Sistema de Gestión de Empleados","\u002Fejemplos\u002Fejemplo-05","8.ejemplos\u002F05.ejemplo-05",{"title":347,"icon":322,"path":348,"stem":349,"children":350,"page":42},"Actividades","\u002Factividades","9.actividades",[351,355,360,364,368,372,376,380,384,388,392,396,400,404,408],{"title":352,"path":353,"stem":354,"icon":105},"Actividad 1: Infografía sobre el proceso de compilación","\u002Factividades\u002Fact-01","9.actividades\u002F01.act-01",{"title":356,"path":357,"stem":358,"icon":359},"Actividad 2: Modelando Diagramas de Clases UML","\u002Factividades\u002Fact-02","9.actividades\u002F02.act-02","i-material-icon-theme-uml",{"title":361,"path":362,"stem":363,"icon":45},"Actividad 3: Creando Clases y Objetos en Java","\u002Factividades\u002Fact-03","9.actividades\u002F03.act-03",{"title":365,"path":366,"stem":367},"Actividad 4: Validando entradas de datos","\u002Factividades\u002Fact-04","9.actividades\u002F04.act-04",{"title":369,"path":370,"stem":371,"icon":105},"Actividad 5: Implementando una clase genérica","\u002Factividades\u002Fact-05","9.actividades\u002F05.act-05",{"title":373,"path":374,"stem":375,"icon":105},"Actividad 6: Expandiendo InputValidator con Predicados y Function","\u002Factividades\u002Fact-06","9.actividades\u002F06.act-06",{"title":377,"path":378,"stem":379,"icon":105},"Actividad 7: Gestor de Biblioteca con InputValidator","\u002Factividades\u002Fact-07","9.actividades\u002F07.act-07",{"title":381,"path":382,"stem":383,"icon":105},"Actividad 8: Calculadora de Figuras Geométricas","\u002Factividades\u002Fact-08","9.actividades\u002F08.act-08",{"title":385,"path":386,"stem":387,"icon":105},"Actividad 9: gestión de una empresa agroalimentaria","\u002Factividades\u002Fact-09","9.actividades\u002F09.act-09",{"title":389,"path":390,"stem":391,"icon":105},"Actividad 10: Sistema de gestión de clínicas veterinarias","\u002Factividades\u002Fact-10","9.actividades\u002F10.act-10",{"title":393,"path":394,"stem":395},"Definición de Proyecto Evolutivo","\u002Factividades\u002Frpg","9.actividades\u002F11.rpg",{"title":397,"path":398,"stem":399},"Actividad 11: Creación de Personajes","\u002Factividades\u002Fact-11","9.actividades\u002F12.act-11",{"title":401,"path":402,"stem":403},"Actividad 12: El Inventario y los Objetos","\u002Factividades\u002Fact-12","9.actividades\u002F13.act-12",{"title":405,"path":406,"stem":407},"Actividad 13: El combate por turnos","\u002Factividades\u002Fact-13","9.actividades\u002F14.act-13",{"title":409,"path":410,"stem":411},"Actividad 14: Guardando y Cargando","\u002Factividades\u002Fact-14","9.actividades\u002F15.act-14",{"id":413,"title":180,"body":414,"description":425,"extension":848,"links":849,"meta":850,"navigation":739,"path":181,"seo":851,"stem":182,"__hash__":852},"docs\u002F5.herencia\u002F05.polimorfismo.md",{"type":415,"value":416,"toc":842},"minimark",[417,422,426,431,434,451,455,531,592,649,794,824,828,831,835,838],[418,419,421],"h1",{"id":420},"qué-es-el-polimorfismo","¿Qué es el polimorfismo?",[423,424,425],"p",{},"El polimorfismo es un concepto fundamental en la programación orientada a objetos que permite que una misma operación o método pueda comportarse de diferentes maneras según el contexto en el que se utilice. En otras palabras, el polimorfismo permite que un mismo código pueda trabajar con objetos de diferentes clases, siempre y cuando estas clases compartan una relación de herencia.",[427,428,430],"h2",{"id":429},"tipos-de-polimorfismo","Tipos de polimorfismo",[423,432,433],{},"Existen dos tipos principales de polimorfismo:",[435,436,437,445],"ol",{},[438,439,440,444],"li",{},[441,442,443],"strong",{},"Polimorfismo en tiempo de compilación (sobrecarga de métodos)",": Este tipo de polimorfismo se refiere a la capacidad de una clase para tener múltiples métodos con el mismo nombre pero con diferentes parámetros. El compilador determina cuál método se debe ejecutar en función de los argumentos proporcionados.",[438,446,447,450],{},[441,448,449],{},"Polimorfismo en tiempo de ejecución (sobrescritura de métodos)",": Este tipo de polimorfismo se refiere a la capacidad de una clase derivada para proporcionar una implementación específica de un método que ya está definido en su clase base. En este caso, el método que se ejecuta se determina en tiempo de ejecución, dependiendo del tipo del objeto que se esté utilizando.",[427,452,454],{"id":453},"ejemplo-de-polimorfismo-en-java","Ejemplo de polimorfismo en Java",[456,457,462],"pre",{"className":458,"code":459,"language":460,"meta":461,"style":461},"language-java shiki shiki-themes github-dark","public class Animal {\n    protected void sound() {\n        System.out.println(\"Animal makes a sound\");\n    }\n}\n","java","",[463,464,465,485,500,519,525],"code",{"__ignoreMap":461},[466,467,470,474,477,481],"span",{"class":468,"line":469},"line",1,[466,471,473],{"class":472},"snl16","public",[466,475,476],{"class":472}," class",[466,478,480],{"class":479},"svObZ"," Animal",[466,482,484],{"class":483},"s95oV"," {\n",[466,486,488,491,494,497],{"class":468,"line":487},2,[466,489,490],{"class":472},"    protected",[466,492,493],{"class":472}," void",[466,495,496],{"class":479}," sound",[466,498,499],{"class":483},"() {\n",[466,501,503,506,509,512,516],{"class":468,"line":502},3,[466,504,505],{"class":483},"        System.out.",[466,507,508],{"class":479},"println",[466,510,511],{"class":483},"(",[466,513,515],{"class":514},"sU2Wk","\"Animal makes a sound\"",[466,517,518],{"class":483},");\n",[466,520,522],{"class":468,"line":521},4,[466,523,524],{"class":483},"    }\n",[466,526,528],{"class":468,"line":527},5,[466,529,530],{"class":483},"}\n",[456,532,534],{"className":458,"code":533,"language":460,"meta":461,"style":461},"public class Dog extends Animal {\n    @Override\n    protected void sound() {\n        System.out.println(\"Dog barks\");\n    }\n}\n",[463,535,536,552,560,570,583,587],{"__ignoreMap":461},[466,537,538,540,542,545,548,550],{"class":468,"line":469},[466,539,473],{"class":472},[466,541,476],{"class":472},[466,543,544],{"class":479}," Dog",[466,546,547],{"class":472}," extends",[466,549,480],{"class":479},[466,551,484],{"class":483},[466,553,554,557],{"class":468,"line":487},[466,555,556],{"class":483},"    @",[466,558,559],{"class":472},"Override\n",[466,561,562,564,566,568],{"class":468,"line":502},[466,563,490],{"class":472},[466,565,493],{"class":472},[466,567,496],{"class":479},[466,569,499],{"class":483},[466,571,572,574,576,578,581],{"class":468,"line":521},[466,573,505],{"class":483},[466,575,508],{"class":479},[466,577,511],{"class":483},[466,579,580],{"class":514},"\"Dog barks\"",[466,582,518],{"class":483},[466,584,585],{"class":468,"line":527},[466,586,524],{"class":483},[466,588,590],{"class":468,"line":589},6,[466,591,530],{"class":483},[456,593,595],{"className":458,"code":594,"language":460,"meta":461,"style":461},"public class Cat extends Animal {\n    @Override\n    protected void sound() {\n        System.out.println(\"Cat meows\");\n    }\n}\n",[463,596,597,612,618,628,641,645],{"__ignoreMap":461},[466,598,599,601,603,606,608,610],{"class":468,"line":469},[466,600,473],{"class":472},[466,602,476],{"class":472},[466,604,605],{"class":479}," Cat",[466,607,547],{"class":472},[466,609,480],{"class":479},[466,611,484],{"class":483},[466,613,614,616],{"class":468,"line":487},[466,615,556],{"class":483},[466,617,559],{"class":472},[466,619,620,622,624,626],{"class":468,"line":502},[466,621,490],{"class":472},[466,623,493],{"class":472},[466,625,496],{"class":479},[466,627,499],{"class":483},[466,629,630,632,634,636,639],{"class":468,"line":521},[466,631,505],{"class":483},[466,633,508],{"class":479},[466,635,511],{"class":483},[466,637,638],{"class":514},"\"Cat meows\"",[466,640,518],{"class":483},[466,642,643],{"class":468,"line":527},[466,644,524],{"class":483},[466,646,647],{"class":468,"line":589},[466,648,530],{"class":483},[456,650,652],{"className":458,"code":651,"language":460,"meta":461,"style":461},"public class Main {\n    public static void main(String[] args) {\n        Animal myAnimal = new Animal();\n        Animal myDog = new Dog();\n        Animal myCat = new Cat();\n\n        myAnimal.sound(); \u002F\u002F Output: Animal makes a sound\n        myDog.sound();    \u002F\u002F Output: Dog barks\n        myCat.sound();    \u002F\u002F Output: Cat meows\n    }\n}\n",[463,653,654,665,693,709,722,735,741,757,771,784,789],{"__ignoreMap":461},[466,655,656,658,660,663],{"class":468,"line":469},[466,657,473],{"class":472},[466,659,476],{"class":472},[466,661,662],{"class":479}," Main",[466,664,484],{"class":483},[466,666,667,670,673,675,678,680,683,686,690],{"class":468,"line":487},[466,668,669],{"class":472},"    public",[466,671,672],{"class":472}," static",[466,674,493],{"class":472},[466,676,677],{"class":479}," main",[466,679,511],{"class":483},[466,681,682],{"class":472},"String",[466,684,685],{"class":483},"[] ",[466,687,689],{"class":688},"s9osk","args",[466,691,692],{"class":483},") {\n",[466,694,695,698,701,704,706],{"class":468,"line":502},[466,696,697],{"class":483},"        Animal myAnimal ",[466,699,700],{"class":472},"=",[466,702,703],{"class":472}," new",[466,705,480],{"class":479},[466,707,708],{"class":483},"();\n",[466,710,711,714,716,718,720],{"class":468,"line":521},[466,712,713],{"class":483},"        Animal myDog ",[466,715,700],{"class":472},[466,717,703],{"class":472},[466,719,544],{"class":479},[466,721,708],{"class":483},[466,723,724,727,729,731,733],{"class":468,"line":527},[466,725,726],{"class":483},"        Animal myCat ",[466,728,700],{"class":472},[466,730,703],{"class":472},[466,732,605],{"class":479},[466,734,708],{"class":483},[466,736,737],{"class":468,"line":589},[466,738,740],{"emptyLinePlaceholder":739},true,"\n",[466,742,744,747,750,753],{"class":468,"line":743},7,[466,745,746],{"class":483},"        myAnimal.",[466,748,749],{"class":479},"sound",[466,751,752],{"class":483},"(); ",[466,754,756],{"class":755},"sAwPA","\u002F\u002F Output: Animal makes a sound\n",[466,758,760,763,765,768],{"class":468,"line":759},8,[466,761,762],{"class":483},"        myDog.",[466,764,749],{"class":479},[466,766,767],{"class":483},"();    ",[466,769,770],{"class":755},"\u002F\u002F Output: Dog barks\n",[466,772,774,777,779,781],{"class":468,"line":773},9,[466,775,776],{"class":483},"        myCat.",[466,778,749],{"class":479},[466,780,767],{"class":483},[466,782,783],{"class":755},"\u002F\u002F Output: Cat meows\n",[466,785,787],{"class":468,"line":786},10,[466,788,524],{"class":483},[466,790,792],{"class":468,"line":791},11,[466,793,530],{"class":483},[423,795,796,797,800,801,804,805,808,809,812,813,815,816,808,818,820,821,823],{},"En este ejemplo, la clase ",[463,798,799],{},"Animal"," tiene un método ",[463,802,803],{},"sound()",", que es sobrescrito por las clases ",[463,806,807],{},"Dog"," y ",[463,810,811],{},"Cat",". Al crear objetos de tipo ",[463,814,799],{}," pero instanciados como ",[463,817,807],{},[463,819,811],{},", el método ",[463,822,803],{}," se comporta de manera diferente según el tipo del objeto, demostrando así el polimorfismo en tiempo de ejecución.",[427,825,827],{"id":826},"consideraciones-finales","Consideraciones finales",[423,829,830],{},"El polimorfismo es una característica poderosa que permite escribir código más flexible y reutilizable. Al utilizar el polimorfismo, los programadores pueden diseñar sistemas que sean más fáciles de mantener y extender, ya que el mismo código puede trabajar con diferentes tipos de objetos sin necesidad de modificarlo. Es importante comprender cómo funciona el polimorfismo para aprovechar al máximo sus beneficios en la programación orientada a objetos.",[427,832,834],{"id":833},"conclusión","Conclusión",[423,836,837],{},"El polimorfismo es un concepto esencial en la programación orientada a objetos que permite que un mismo código pueda trabajar con objetos de diferentes clases. Existen dos tipos principales de polimorfismo: el polimorfismo en tiempo de compilación (sobrecarga de métodos) y el polimorfismo en tiempo de ejecución (sobrescritura de métodos). Al utilizar el polimorfismo, los programadores pueden escribir código más flexible y reutilizable, lo que facilita el mantenimiento y la extensión de los sistemas. Comprender el polimorfismo es fundamental para cualquier programador orientado a objetos, ya que es una herramienta clave para diseñar sistemas eficientes y escalables.",[839,840,841],"style",{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}",{"title":461,"searchDepth":487,"depth":487,"links":843},[844,845,846,847],{"id":429,"depth":487,"text":430},{"id":453,"depth":487,"text":454},{"id":826,"depth":487,"text":827},{"id":833,"depth":487,"text":834},"md",null,{"editButton":42},{"title":180,"description":425},"3YCiuFmkmsH0gtlWAxmozGCr2RugSjzQAFIPemYNBdg",[854,855],{"title":176,"path":177,"stem":178,"description":461,"children":-1},{"title":184,"path":185,"stem":186,"description":461,"children":-1},1779479570250]