Polimorfismo
Polimorfismo
Polimorfismo
Grupo de Trabajo: #9
Grupo: 2M5-CO
POLIMORFISMO
¿QUE ES?
Por herencia
Por interface
Cuando se hereda de
Por abstracción es la posibilidad
una clase normal y
que tenemos de
puedo convertirme en cuando puedo implementar una
ella. heredar de una interface y puedo
clase abstracta y convertirme en
puedo convertirme ella.
en ella.
SOBRECARGA DE OPERADORES. SOBRECARGA DE MÉTODOS.
DIFERENCIA DE SOBRECARGA
DE METODO Y POLIMORFISMO
La Sobrecarga se resuelve en tiempo de compilación utilizando los
nombres de los métodos y los tipos de sus parámetros; el polimorfismo se
resuelve en tiempo de ejecución del programa, esto es, mientras se ejecuta,
en función de la clase a la que pertenece el objeto.
MENSAJES
Los mensajes son llamados a métodos de un objeto en particular.
Un beneficio es que todo objeto necesita de unos atributos, por lo cual el
envío de estos soporta todas las interacciones que se realicen en dicho
objeto.
Esta compuesto por: el objeto destino, el nombre del método a llamar y los
parámetros solicitados por el método.
Los objetos se crean en memoria principal (RAM)
Los mensajes se mueven de un objeto a otro (usuario-objeto)
Codigos en C#
Polimorfismo
using System;
namespace polimorfismo
{
class Program
{
static void Main(string[] args)
{
figura_rectangulo Rectangulo = new figura_rectangulo();
Rectangulo.Area(34, 56);
Triangulo.Area(34, 56);
Console.ReadKey();
}
}
}
Clase figuraRectangulo
using System;
using System.Collections.Generic;
using System.Text;
namespace polimorfismo
{
class figura_rectangulo
{
public void Area(int Base, int Altura)
{
Console.WriteLine("El area del rectangulo es:" + (Base * Altura));
}
}
}
Clase figuraTriangulo
using System;
using System.Collections.Generic;
using System.Text;
namespace polimorfismo
{
class figura_triangulo : figura_rectangulo
{
public void Area(int Base, int Altura)
{
Console.WriteLine("El area del triangulo es:" + (Base * Altura)/2);
}
}
}
SOBRECARGA DE OPERADORES
using System;
using System.Collections.Generic;
namespace sobrecarga
{
class Program
{
static void Main(string[] args)
{
var amigos1 = new amigos<string>() { "chocoyo","yo" };
var amigos2 = new amigos<string>() { "cristiano", "messi" };
var amigos3 = amigos1 + amigos2;
}
}
}
Nota: Instrucción ForEach ejecuta una instrucción o un bloque de instrucciones para cada
elmeneto de una instancia del tipo que implementa la interfaz
Nota 2: Instrucción operador es un simboli especial para realizar alguna acción en los
operandos. Incluye varios operadores para diferentes tipos de operaciones
namespace sobrecarga_metodos
{
class Carro
{
string Marca;
string modelo;
string Color;
namespace sobrecarga_metodos
{
class Program
{
public static void Main(string[] args)
{
Carro v1 = new Carro("nissan", "2022");
Carro v2 = new Carro("rojo");
Console.Read();
v1.acelerar();
v2.acelerar(30);
}
}
}
https://www.youtube.com/watch?v=tjjecfz9Cvk&list=PPSV