[{"data":1,"prerenderedAt":836},["ShallowReactive",2],{"navigation_docs":3,"-metodos-sobrecarga":412,"-metodos-sobrecarga-surround":831},[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":133,"body":414,"description":825,"extension":826,"links":827,"meta":828,"navigation":465,"path":134,"seo":829,"stem":135,"__hash__":830},"docs\u002F4.metodos\u002F03.sobrecarga.md",{"type":415,"value":416,"toc":816},"minimark",[417,422,426,430,627,638,642,648,740,749,753,772,776,790,794,805,809,812],[418,419,421],"h2",{"id":420},"qué-es-la-sobrecarga-de-funciones","¿Qué es la sobrecarga de funciones?",[423,424,425],"p",{},"La sobrecarga de funciones es una característica de algunos lenguajes de programación que permite definir múltiples funciones con el mismo nombre pero con diferentes parámetros. Esto permite que una función pueda ser llamada con diferentes tipos o números de argumentos, lo que mejora la flexibilidad y legibilidad del código.",[418,427,429],{"id":428},"ejemplo-de-sobrecarga-de-funciones-en-java","Ejemplo de sobrecarga de funciones en Java",[431,432,437],"pre",{"className":433,"code":434,"language":435,"meta":436,"style":436},"language-java shiki shiki-themes github-dark","public class OverloadingExample {\n\n    public void print(int number) {\n        System.out.println(\"Número entero: \" + number);\n    }\n\n    public void print(String text) {\n        System.out.println(\"Texto: \" + text);\n    }\n\n    public void print(int number, String text) {\n        System.out.println(\"Número entero: \" + number + \", Texto: \" + text);\n    }\n}\n","java","",[438,439,440,460,467,492,513,519,524,541,558,563,568,590,616,621],"code",{"__ignoreMap":436},[441,442,445,449,452,456],"span",{"class":443,"line":444},"line",1,[441,446,448],{"class":447},"snl16","public",[441,450,451],{"class":447}," class",[441,453,455],{"class":454},"svObZ"," OverloadingExample",[441,457,459],{"class":458},"s95oV"," {\n",[441,461,463],{"class":443,"line":462},2,[441,464,466],{"emptyLinePlaceholder":465},true,"\n",[441,468,470,473,476,479,482,485,489],{"class":443,"line":469},3,[441,471,472],{"class":447},"    public",[441,474,475],{"class":447}," void",[441,477,478],{"class":454}," print",[441,480,481],{"class":458},"(",[441,483,484],{"class":447},"int",[441,486,488],{"class":487},"s9osk"," number",[441,490,491],{"class":458},") {\n",[441,493,495,498,501,503,507,510],{"class":443,"line":494},4,[441,496,497],{"class":458},"        System.out.",[441,499,500],{"class":454},"println",[441,502,481],{"class":458},[441,504,506],{"class":505},"sU2Wk","\"Número entero: \"",[441,508,509],{"class":447}," +",[441,511,512],{"class":458}," number);\n",[441,514,516],{"class":443,"line":515},5,[441,517,518],{"class":458},"    }\n",[441,520,522],{"class":443,"line":521},6,[441,523,466],{"emptyLinePlaceholder":465},[441,525,527,529,531,533,536,539],{"class":443,"line":526},7,[441,528,472],{"class":447},[441,530,475],{"class":447},[441,532,478],{"class":454},[441,534,535],{"class":458},"(String ",[441,537,538],{"class":487},"text",[441,540,491],{"class":458},[441,542,544,546,548,550,553,555],{"class":443,"line":543},8,[441,545,497],{"class":458},[441,547,500],{"class":454},[441,549,481],{"class":458},[441,551,552],{"class":505},"\"Texto: \"",[441,554,509],{"class":447},[441,556,557],{"class":458}," text);\n",[441,559,561],{"class":443,"line":560},9,[441,562,518],{"class":458},[441,564,566],{"class":443,"line":565},10,[441,567,466],{"emptyLinePlaceholder":465},[441,569,571,573,575,577,579,581,583,586,588],{"class":443,"line":570},11,[441,572,472],{"class":447},[441,574,475],{"class":447},[441,576,478],{"class":454},[441,578,481],{"class":458},[441,580,484],{"class":447},[441,582,488],{"class":487},[441,584,585],{"class":458},", String ",[441,587,538],{"class":487},[441,589,491],{"class":458},[441,591,593,595,597,599,601,603,606,609,612,614],{"class":443,"line":592},12,[441,594,497],{"class":458},[441,596,500],{"class":454},[441,598,481],{"class":458},[441,600,506],{"class":505},[441,602,509],{"class":447},[441,604,605],{"class":458}," number ",[441,607,608],{"class":447},"+",[441,610,611],{"class":505}," \", Texto: \"",[441,613,509],{"class":447},[441,615,557],{"class":458},[441,617,619],{"class":443,"line":618},13,[441,620,518],{"class":458},[441,622,624],{"class":443,"line":623},14,[441,625,626],{"class":458},"}\n",[423,628,629,630,633,634,637],{},"En este ejemplo, la clase ",[438,631,632],{},"OverloadingExample"," tiene tres métodos ",[438,635,636],{},"print"," con el mismo nombre pero con diferentes parámetros. El primer método acepta un entero, el segundo acepta una cadena de texto y el tercero acepta ambos.",[418,639,641],{"id":640},"uso-de-la-sobrecarga-de-funciones","Uso de la sobrecarga de funciones",[423,643,644,645,647],{},"Aquí hay un ejemplo de cómo usar la sobrecarga de funciones para llamar a los diferentes métodos ",[438,646,636],{},":",[431,649,651],{"className":433,"code":650,"language":435,"meta":436,"style":436},"void main() {\n    OverloadingExample example = new OverloadingExample();\n    example.print(42); \u002F\u002F Imprime: Número entero: 42\n    example.print(\"Hola, mundo!\"); \u002F\u002F Imprime: Texto: Hola, mundo!\n    example.print(42, \"Hola, mundo!\"); \u002F\u002F Imprime: Número entero: 42, Texto: Hola, mundo!\n}\n",[438,652,653,664,680,700,716,736],{"__ignoreMap":436},[441,654,655,658,661],{"class":443,"line":444},[441,656,657],{"class":447},"void",[441,659,660],{"class":454}," main",[441,662,663],{"class":458},"() {\n",[441,665,666,669,672,675,677],{"class":443,"line":462},[441,667,668],{"class":458},"    OverloadingExample example ",[441,670,671],{"class":447},"=",[441,673,674],{"class":447}," new",[441,676,455],{"class":454},[441,678,679],{"class":458},"();\n",[441,681,682,685,687,689,693,696],{"class":443,"line":469},[441,683,684],{"class":458},"    example.",[441,686,636],{"class":454},[441,688,481],{"class":458},[441,690,692],{"class":691},"sDLfK","42",[441,694,695],{"class":458},"); ",[441,697,699],{"class":698},"sAwPA","\u002F\u002F Imprime: Número entero: 42\n",[441,701,702,704,706,708,711,713],{"class":443,"line":494},[441,703,684],{"class":458},[441,705,636],{"class":454},[441,707,481],{"class":458},[441,709,710],{"class":505},"\"Hola, mundo!\"",[441,712,695],{"class":458},[441,714,715],{"class":698},"\u002F\u002F Imprime: Texto: Hola, mundo!\n",[441,717,718,720,722,724,726,729,731,733],{"class":443,"line":515},[441,719,684],{"class":458},[441,721,636],{"class":454},[441,723,481],{"class":458},[441,725,692],{"class":691},[441,727,728],{"class":458},", ",[441,730,710],{"class":505},[441,732,695],{"class":458},[441,734,735],{"class":698},"\u002F\u002F Imprime: Número entero: 42, Texto: Hola, mundo!\n",[441,737,738],{"class":443,"line":521},[441,739,626],{"class":458},[423,741,742,743,745,746,748],{},"En este ejemplo, creamos una instancia de ",[438,744,632],{}," y llamamos a los diferentes métodos ",[438,747,636],{}," con diferentes tipos y números de argumentos. La sobrecarga de funciones permite que el mismo nombre de función se utilice para diferentes propósitos, lo que hace que el código sea más limpio y fácil de entender.",[418,750,752],{"id":751},"reglas-de-la-sobrecarga-de-funciones","Reglas de la sobrecarga de funciones",[754,755,756,760,763,766,769],"ol",{},[757,758,759],"li",{},"Las funciones sobrecargadas deben tener el mismo nombre pero diferentes parámetros (diferente número de parámetros, diferente tipo de parámetros o ambos).",[757,761,762],{},"El tipo de retorno de las funciones sobrecargadas no puede ser el único factor para diferenciar las funciones, ya que el compilador no puede determinar cuál función llamar solo por el tipo de retorno.",[757,764,765],{},"Las funciones sobrecargadas pueden lanzar excepciones, pero no pueden lanzar excepciones que dependan del tipo de parámetro, ya que esto no afecta la firma de la función.",[757,767,768],{},"La sobrecarga de funciones puede mejorar la legibilidad del código al permitir que el mismo nombre de función se utilice para diferentes propósitos relacionados, lo que hace que el código sea más intuitivo y fácil de entender. Sin embargo, es importante usar la sobrecarga de funciones de manera responsable para evitar confusiones y mantener la claridad del código.",[757,770,771],{},"En algunos casos, la sobrecarga de funciones puede llevar a ambigüedades si el compilador no puede determinar cuál función llamar debido a la similitud en los parámetros. En estos casos, es importante asegurarse de que las funciones sobrecargadas tengan firmas claramente diferenciadas para evitar problemas de compilación.",[418,773,775],{"id":774},"ventajas-de-la-sobrecarga-de-funciones","Ventajas de la sobrecarga de funciones",[754,777,778,781,784,787],{},[757,779,780],{},"Mejora la legibilidad del código al permitir que el mismo nombre de función se utilice para diferentes propósitos relacionados.",[757,782,783],{},"Permite que una función pueda ser llamada con diferentes tipos o números de argumentos, lo que mejora la flexibilidad del código.",[757,785,786],{},"Reduce la necesidad de escribir funciones con nombres diferentes para realizar tareas similares, lo que puede hacer que el código sea más limpio y fácil de mantener.",[757,788,789],{},"Facilita la reutilización de código al permitir que el mismo nombre de función se utilice para diferentes tipos de datos o diferentes números de argumentos, lo que puede reducir la cantidad de código duplicado en un programa.",[418,791,793],{"id":792},"desventajas-de-la-sobrecarga-de-funciones","Desventajas de la sobrecarga de funciones",[754,795,796,799,802],{},[757,797,798],{},"Puede llevar a confusiones si se abusa de la sobrecarga de funciones, especialmente si las funciones sobrecargadas tienen firmas similares que pueden causar ambigüedades.",[757,800,801],{},"Puede hacer que el código sea más difícil de entender si no se utiliza de manera responsable, especialmente para programadores que no están familiarizados con la sobrecarga de funciones.",[757,803,804],{},"Puede aumentar la complejidad del código si se utilizan demasiadas funciones sobrecargadas, lo que puede dificultar la depuración y el mantenimiento del código a largo plazo. Es importante usar la sobrecarga de funciones de manera equilibrada para aprovechar sus ventajas sin caer en sus desventajas.",[418,806,808],{"id":807},"conclusión","Conclusión",[423,810,811],{},"La sobrecarga de funciones es una característica poderosa que permite a los programadores definir múltiples funciones con el mismo nombre pero diferentes parámetros, lo que mejora la flexibilidad y legibilidad del código. Sin embargo, es importante usar la sobrecarga de funciones de manera responsable para evitar confusiones y mantener la claridad del código. Al seguir las reglas y considerar las ventajas y desventajas de la sobrecarga de funciones, los programadores pueden aprovechar al máximo esta característica en sus programas.",[813,814,815],"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 .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 .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}",{"title":436,"searchDepth":462,"depth":462,"links":817},[818,819,820,821,822,823,824],{"id":420,"depth":462,"text":421},{"id":428,"depth":462,"text":429},{"id":640,"depth":462,"text":641},{"id":751,"depth":462,"text":752},{"id":774,"depth":462,"text":775},{"id":792,"depth":462,"text":793},{"id":807,"depth":462,"text":808},"En este artículo, se explica qué es la sobrecarga de funciones en programación y cómo se puede utilizar para definir múltiples funciones con el mismo nombre pero diferentes parámetros, permitiendo así una mayor flexibilidad y legibilidad en el código.","md",null,{"editButton":42},{"title":133,"description":825},"KD5r0GGh8xcPdMytpvBKc8k-y7M7i09-BBaqRqqVPhE",[832,834],{"title":129,"path":130,"stem":131,"description":833,"children":-1},"En este artículo, se explican los métodos de instancia y de clase en programación orientada a objetos, sus diferencias y cómo se utilizan para definir el comportamiento de las clases y sus objetos.",{"title":137,"path":138,"stem":139,"description":835,"children":-1},"En este artículo, se explica el concepto de alcance en programación, cómo afecta a las variables y métodos, y cómo se pueden utilizar diferentes niveles de alcance para controlar la visibilidad y el acceso a los elementos de un programa.",1779479568692]