Está en la página 1de 8

PROGRAMACION ORIENTADA A OBJETOS

Integrantes: *Br. Laleska Massiel Granera Valle 2018-0041U

*Br. Critopher Saúl Zelaya Pinell 2018-0033U

*Br. Sergio Iván Ulloa Martínez 2018-0358U

Grupo de Trabajo: #9

Docente: Ing Hilda Saavedra.

Grupo: 2M5-CO
POLIMORFISMO

¿QUE ES?

Es la habilidad que poseen


los objetos para reaccionar
de modo diferente ante los
mismos mensajes.

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.

El concepto de operador sobrecargado se significa que tenemos múltiples métodos


refiere a un operador que es capaz de dentro de una clase los cuales contienen el
desarrollar su función en varios contextos mismo nombre, pero diferentes parámetros
diferentes sin necesidad de otras estos parámetros pueden ser diferentes en
operaciones adicionales. múltiples aspectos:
La palabra clave operator para declarar un  Cantidad de parámetros
operador. Una declaración de operador debe  Tipo de los parámetros
cumplir las reglas siguientes:  Orden de los parámetros
 Incluye los no podemos definir dos métodos iguales,
modificadores public y static. ósea con el mismo nombre, y mismos
 Un operador unario tiene un parámetros y mismo orden ya que resultaría
parámetro de entrada. Un operador en un error de compilación.
binario tiene dos parámetros de
entrada. En cada caso, al menos un
parámetro debe ser de
tipo T o T? donde T es el tipo que
contiene la declaración del operador.

 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);

figura_triangulo Triangulo = new figura_triangulo();

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;

amigos3.ForEach(element => Console.WriteLine(element));


}
public class amigos<T>: List<T>
{
public static amigos<T> operator +(amigos<T> a1, amigos<T> a2)
{
var amigos = new amigos<T>();
a1.ForEach(element => amigos.Add(element));
a2.ForEach(element => amigos.Add(element));
return amigos;
}

}
}
}

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

SOBRE CARGA DE METODO


using System;
using System.Collections.Generic;
using System.Text;

namespace sobrecarga_metodos
{
class Carro

{
string Marca;
string modelo;
string Color;

public Carro(string _Marca, string _modelo)


{
_Marca = _Marca;
_modelo = _modelo;
}
public Carro(string _Color)
{
Color = _Color;
}

public void acelerar() {


Console.WriteLine("el carro "+Marca+" "+modelo + " esta acelerando"); }
public void acelerar(int km)
{
Console.WriteLine("el carro " + Marca + " " + modelo + " esta
acelerando a"+km+"km/h");
}
}

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);
}

}
}

Nota: Link del video presentado sobre Polimorfismo

https://www.youtube.com/watch?v=tjjecfz9Cvk&list=PPSV

También podría gustarte