[{"data":1,"prerenderedAt":744},["ShallowReactive",2],{"navigation_docs":3,"-herencia-object":412,"-herencia-object-surround":739},[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":176,"body":414,"description":517,"extension":734,"links":735,"meta":736,"navigation":609,"path":177,"seo":737,"stem":178,"__hash__":738},"docs\u002F5.herencia\u002F04.object.md",{"type":415,"value":416,"toc":727},"minimark",[417,422,448,452,492,496,507,511,702,711,715,723],[418,419,421],"h2",{"id":420},"qué-es-la-clase-object-en-java","¿Qué es la clase Object en Java?",[423,424,425,426,430,431,433,434,436,437,440,441,440,444,447],"p",{},"La clase ",[427,428,429],"code",{},"Object"," es la clase raíz de la jerarquía de clases en Java. Todas las clases en Java heredan directa o indirectamente de la clase ",[427,432,429],{},", lo que significa que todos los objetos en Java son instancias de la clase ",[427,435,429],{},". Esta clase proporciona métodos básicos que pueden ser utilizados por todas las clases, como ",[427,438,439],{},"toString()",", ",[427,442,443],{},"equals()",[427,445,446],{},"hashCode()",", entre otros.",[418,449,451],{"id":450},"métodos-de-la-clase-object","Métodos de la clase Object",[453,454,455,461,467,480,486],"ul",{},[456,457,458,460],"li",{},[427,459,439],{},": Devuelve una representación en forma de cadena del objeto. Por defecto, devuelve el nombre de la clase seguido del símbolo \"@\" y el valor hexadecimal del código hash del objeto.",[456,462,463,466],{},[427,464,465],{},"equals(Object obj)",": Compara el objeto actual con otro objeto para determinar si son iguales. Por defecto, compara las referencias de los objetos, pero puede ser sobrescrito para comparar el contenido de los objetos.",[456,468,469,471,472,475,476,479],{},[427,470,446],{},": Devuelve un valor hash para el objeto. Este método es utilizado en estructuras de datos como ",[427,473,474],{},"HashMap"," y ",[427,477,478],{},"HashSet"," para almacenar objetos de manera eficiente.",[456,481,482,485],{},[427,483,484],{},"getClass()",": Devuelve la clase del objeto en tiempo de ejecución.",[456,487,488,491],{},[427,489,490],{},"clone()",": Crea y devuelve una copia del objeto. Este método es protegido y debe ser sobrescrito para ser utilizado.",[418,493,495],{"id":494},"importancia-de-la-clase-object","Importancia de la clase Object",[423,497,425,498,500,501,503,504,506],{},[427,499,429],{}," es fundamental en Java porque proporciona una base común para todas las clases. Al heredar de ",[427,502,429],{},", todas las clases pueden utilizar los métodos definidos en esta clase, lo que facilita la manipulación de objetos y la implementación de funcionalidades comunes. Además, la clase ",[427,505,429],{}," permite que los objetos sean tratados de manera genérica, lo que es esencial para la programación orientada a objetos en Java.",[418,508,510],{"id":509},"ejemplo-de-uso-de-la-clase-object","Ejemplo de uso de la clase Object",[512,513,518],"pre",{"className":514,"code":515,"language":516,"meta":517,"style":517},"language-java shiki shiki-themes github-dark","public class Main {\n    public static void main(String[] args) {\n        Object obj1 = new Object();\n        Object obj2 = new Object(); \n\n        System.out.println(obj1.toString()); \u002F\u002F Imprime la representación en cadena de obj1\n        System.out.println(obj2.toString()); \u002F\u002F Imprime la representación en cadena de obj2\n        System.out.println(obj1.equals(obj2)); \u002F\u002F Imprime false, ya que obj1 y obj2 son diferentes objetos\n        System.out.println(obj1.hashCode()); \u002F\u002F Imprime el valor hash de obj1\n\n    }\n}\n","java","",[427,519,520,540,571,589,604,611,633,650,668,685,690,696],{"__ignoreMap":517},[521,522,525,529,532,536],"span",{"class":523,"line":524},"line",1,[521,526,528],{"class":527},"snl16","public",[521,530,531],{"class":527}," class",[521,533,535],{"class":534},"svObZ"," Main",[521,537,539],{"class":538},"s95oV"," {\n",[521,541,543,546,549,552,555,558,561,564,568],{"class":523,"line":542},2,[521,544,545],{"class":527},"    public",[521,547,548],{"class":527}," static",[521,550,551],{"class":527}," void",[521,553,554],{"class":534}," main",[521,556,557],{"class":538},"(",[521,559,560],{"class":527},"String",[521,562,563],{"class":538},"[] ",[521,565,567],{"class":566},"s9osk","args",[521,569,570],{"class":538},") {\n",[521,572,574,577,580,583,586],{"class":523,"line":573},3,[521,575,576],{"class":538},"        Object obj1 ",[521,578,579],{"class":527},"=",[521,581,582],{"class":527}," new",[521,584,585],{"class":534}," Object",[521,587,588],{"class":538},"();\n",[521,590,592,595,597,599,601],{"class":523,"line":591},4,[521,593,594],{"class":538},"        Object obj2 ",[521,596,579],{"class":527},[521,598,582],{"class":527},[521,600,585],{"class":534},[521,602,603],{"class":538},"(); \n",[521,605,607],{"class":523,"line":606},5,[521,608,610],{"emptyLinePlaceholder":609},true,"\n",[521,612,614,617,620,623,626,629],{"class":523,"line":613},6,[521,615,616],{"class":538},"        System.out.",[521,618,619],{"class":534},"println",[521,621,622],{"class":538},"(obj1.",[521,624,625],{"class":534},"toString",[521,627,628],{"class":538},"()); ",[521,630,632],{"class":631},"sAwPA","\u002F\u002F Imprime la representación en cadena de obj1\n",[521,634,636,638,640,643,645,647],{"class":523,"line":635},7,[521,637,616],{"class":538},[521,639,619],{"class":534},[521,641,642],{"class":538},"(obj2.",[521,644,625],{"class":534},[521,646,628],{"class":538},[521,648,649],{"class":631},"\u002F\u002F Imprime la representación en cadena de obj2\n",[521,651,653,655,657,659,662,665],{"class":523,"line":652},8,[521,654,616],{"class":538},[521,656,619],{"class":534},[521,658,622],{"class":538},[521,660,661],{"class":534},"equals",[521,663,664],{"class":538},"(obj2)); ",[521,666,667],{"class":631},"\u002F\u002F Imprime false, ya que obj1 y obj2 son diferentes objetos\n",[521,669,671,673,675,677,680,682],{"class":523,"line":670},9,[521,672,616],{"class":538},[521,674,619],{"class":534},[521,676,622],{"class":538},[521,678,679],{"class":534},"hashCode",[521,681,628],{"class":538},[521,683,684],{"class":631},"\u002F\u002F Imprime el valor hash de obj1\n",[521,686,688],{"class":523,"line":687},10,[521,689,610],{"emptyLinePlaceholder":609},[521,691,693],{"class":523,"line":692},11,[521,694,695],{"class":538},"    }\n",[521,697,699],{"class":523,"line":698},12,[521,700,701],{"class":538},"}\n",[423,703,704,705,707,708,710],{},"En este ejemplo, se crean dos objetos de la clase ",[427,706,429],{}," y se utilizan algunos de los métodos proporcionados por la clase ",[427,709,429],{}," para mostrar su funcionalidad.",[418,712,714],{"id":713},"conclusión","Conclusión",[423,716,425,717,719,720,722],{},[427,718,429],{}," es una parte esencial de la programación en Java, ya que todas las clases heredan de ella. Proporciona métodos básicos que pueden ser utilizados por todas las clases, lo que facilita la manipulación de objetos y la implementación de funcionalidades comunes. Comprender la clase ",[427,721,429],{}," es fundamental para cualquier programador Java, ya que es la base sobre la cual se construyen todas las demás clases.",[724,725,726],"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 .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}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);}",{"title":517,"searchDepth":542,"depth":542,"links":728},[729,730,731,732,733],{"id":420,"depth":542,"text":421},{"id":450,"depth":542,"text":451},{"id":494,"depth":542,"text":495},{"id":509,"depth":542,"text":510},{"id":713,"depth":542,"text":714},"md",null,{"editButton":42},{"title":176,"description":517},"MP0V9t9rboxNrZK1Lhji4KWPAHXY_boFRXaGSGXA4i0",[740,742],{"title":172,"path":173,"stem":174,"description":741,"children":-1},"En este artículo, se explican los diferentes tipos de herencia en programación orientada a objetos, incluyendo la herencia simple, la herencia múltiple, la herencia jerárquica, la herencia híbrida y la herencia multinivel, junto con ejemplos prácticos para ilustrar cada tipo.",{"title":180,"path":181,"stem":182,"description":743,"children":-1},"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.",1779479570173]