Conceptos Avansados En Programacion

Páginas: 16 (3979 palabras) Publicado: 26 de octubre de 2012
Conceptos Avanzados
Benjamín Albarrán San Germán
Profesor: José Luis Herrera Gallardo

Universidad Tecnológica de Tula-Tepeji Programación de Aplicaciones

Tabla de contenido
Polimorfismo ....................................................................................................................................... 2 Ejemplo:.............................................................................................................................................. 2 Clases abstractas ................................................................................................................................. 4 Ejemplo: .............................................................................................................................................. 5Interfaces............................................................................................................................................. 6 Ejemplo: .............................................................................................................................................. 6 Métodos virtuales............................................................................................................................. 10 Operador new ................................................................................................................................... 11 Override............................................................................................................................................. 16Ejemplo.............................................................................................................................................. 16 Referencias ........................................................................................................................................ 19

Polimorfismo
Es la capacidad de almacenar objetos de un determinado tipo en variables de tipos antecesores del primero a costa, claro está,de sólo poderse acceder a través de dicha variable a los miembros comunes a ambos tipos. Sin embargo, las versiones de los métodos virtuales a las que se llamaría a través de esas variables no serían las definidas como miembros del tipo de dichas variables, sino las definidas en el verdadero tipo de los objetos que almacenan.

Ejemplo:
A continuación se muestra un ejemplo de cómo una variable detipo Persona puede usarse para almacenar objetos de tipo Trabajador. En esos casos el campo Sueldo del objeto referenciado por la variable no será accesible, y la versión del método Cumpleaños() a la que se podría llamar a través de la variable de tipo Persona sería la definida en la clase Trabajador, y no la definida en Persona:

using System; class Persona { // Campo de cada objeto Personaque almacena su nombre public string Nombre; // Campo de cada objeto Persona que almacena su edad public int Edad; // Campo de cada objeto Persona que almacena su NIF public string NIF; // Incrementa en uno la edad del objeto Persona public virtual void Cumpleaños() { Console.WriteLine("Incrementada edad de persona"); } // Constructor de Persona public Persona (string nombre, int edad, string nif) {Nombre = nombre; Edad = edad; NIF = nif; } } class Trabajador: Persona { // Campo de cada objeto Trabajador que almacena cuánto gana int Sueldo;

Trabajador(string nombre, int edad, string nif, int sueldo) : base(nombre, edad, nif) {// Inicializamos cada Trabajador en base al constructor de Persona Sueldo = sueldo; } public override Cumpleaños() { Edad++; Console.WriteLine("Incrementada edadde trabajador"); } public static void Main() { Persona p = new Trabajador("Josan", 22, "77588260-Z", 100000); p.Cumpleaños(); // p.Sueldo++; //ERROR: Sueldo no es miembro de Persona } }

El mensaje mostrado por pantalla al ejecutar este método confirma lo antes dicho respecto a que la versión de Cumpleaños() a la que se llama, ya que es:

Incrementada edad de trabajador

Métodos genéricos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Conceptos De Programación
  • Conceptos De Programacion
  • Conceptos de programacion
  • Conceptos Programacion
  • Conceptos de programacion
  • conceptos programacion
  • Conceptos de programación
  • Conceptos de programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS