Poo En C#
Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle
Contenido
Introducción. Clases y Objetos en C#:
Módulos: Clases, Estructuras, Espacios de nombres, Ensamblados. Tipos del lenguaje. Definición y semántica de los operadores. Métodos y mensajes. Paso de parámetros. Construcción de objetos.
Herencia en C#:
Polimorfismo yligadura. Clase object. Casting y Compatibilidad de tipos. Clases abstractas. Interfaces. Herencia múltiple. Genericidad. Estrategias – Delegados. Iteradores.
Corrección y Robustez en C#: asertos y excepciones
Tema 6 POO en C# 2
Introducción
C# es un lenguaje creado por Microsoft y liderado por Anders Heljsberg. Es un lenguaje orientado a objetos puro inspirado en C++, Java, Delphi y Eiffel.Las aplicaciones C# son ejecutadas en un entorno controlado llamado CLR (Common Language Runtime). El lenguaje está estandarizado en ECMA e ISO. Actualmente está en la versión 3.0.
Tema 6 POO en C# 3
Plataforma .NET
El compilador de C# genera código intermedio para la plataforma .NET. El código intermedio es ejecutado por una máquina virtual: CLR C# es sólo uno de los lenguajes de laplataforma .NET: C++, VB.NET, Eiffel.NET, etc. La plataforma .NET está ligada a los sistemas operativos Windows. Proyecto Mono:
Implementación de .NET en otros sistemas operativos. Incluye un compilador para C#.
Tema 6 POO en C# 4
Clases y Objetos en C#
Clases. Propiedades. Visibilidad. Espacios de nombres. Ensamblados. Tipos del lenguaje. Construcción de objetos.
Tema 6
Estructuras.Asignación y copia. Identidad e igualdad. Métodos y mensajes. Paso de parámetros. Operadores. Instancia actual. Método Main.
POO en C#
5
Clases
En C# los elementos que definen una clase son:
Atributos, métodos y constructores ( = Java y C++)
La declaración de una clase comparte aspectos en común con Java y C++:
La declaración de una clase incluye la definición e implementación ( = Java ).Un fichero de código fuente (extensión .cs) puede contener la declaración de varias clases ( = C++ ).
Tema 6 POO en C# 6
Clases
C# añade dos nuevos tipos de declaraciones:
Propiedades:
Representan características de los objetos que son accedidas como si fueran atributos. Ocultan el uso de métodos get/set. Una propiedad puede representar un atributo calculado.
Eventos:
Notificaciones queenvía un objeto a otros objetos cuando se produce un cambio de estado significativo.
Propiedades y eventos son el soporte para el Desarrollo de Software basado en Componentes.
Tema 6 POO en C# 7
Clase Cuenta 1/4
public class Cuenta { // Constante private const int MAX_OPERACIONES = 20; // Atributo de clase private static int ultimoCodigo = 0; // Atributos de instancia private int codigo;private double saldo = 100; private readonly Persona titular; private EstadoCuenta estado; private double[] ultimasOperaciones; …
Tema 6
POO en C#
8
Clase Cuenta 2/4
public class Cuenta { … // Constructor public Cuenta(Persona titular, double saldo) { this.codigo = ++ultimoCodigo; this.titular = titular; this.saldo = saldo; estado = EstadoCuenta.OPERATIVA; ultimasOperaciones = newdouble[MAX_OPERACIONES]; } … }
Tema 6
POO en C#
9
Clase Cuenta 3/4
public class Cuenta { … // Propiedades public double Saldo { get { return saldo; } } public Persona Titular { get { return titular; } } public int Codigo { get { return codigo; } } }
Tema 6 POO en C# 10
Clase Cuenta 4/4
public class Cuenta { … // Métodos de instancia public void Ingreso(double cantidad) { saldo =saldo + cantidad; } public void Reintegro(double cantidad){ if (cantidad cuenta2.saldo); } public static bool operator< (Cuenta cuenta1, Cuenta cuenta2) { return (cuenta1.saldo < cuenta2.saldo); }
Cuenta c1 = new Cuenta(persona, 100); Cuenta c2 = new Cuenta(persona, 200); Console.WriteLine (c1 > c2); // False
Tema 6
POO en C#
38
Operadores implícitos
C# no permite definir el...
Regístrate para leer el documento completo.