Sociales
Programación Orientada a Objetos en C#
Unidad 2.- Clases y objetos
Autor: Dr. Ramón Roque Hernández http://ramonroque.com/Materias/pooTec.htm ramonroque@yahoo.com Colaboradores: Ing. Gloria Ma. Rodríguez Morales grodriguez@itnuevolaredo.edu.mx Ing. Bruno López Takeyas, M.C. www.itnuevolaredo.edu.mx/takeyas takeyas@itnuevolaredo.edu.mx
1
2.-Clases y objetos
2.1 Declaración de clases: atributos, métodos, encapsulamiento. 2.2 Instanciación de una clase. 2.3 Referencia al objeto actual. 2.4 Métodos: declaración, mensajes, paso de parámetros, retorno de valores. 2.5 Constructores y destructores: declaración uso y aplicaciones. 2.6 Sobrecarga de métodos. 2.7 Propiedades* 2
Ing. Ramón Roque Hernández, M.C.
1
Programación Orientada aObjetos con C#
Espacios de nombres (namespace)
• Organizan los diferentes componentes • Un programa puede contener varios namespaces • Un namespace puede contener muchas clases • El programador puede crear sus propios namespaces • Para accesar a namespaces se usa la directiva using:
using System; using System.Array;
3
using System; using System.Collections.Generic; using System.Linq;using System.Text; namespace Ejemplo { class Program { static void Main(string[] args) { } } }
4
Ing. Ramón Roque Hernández, M.C.
2
Programación Orientada a Objetos con C#
Clases y objetos
• Una clase es básicamente un plano para un tipo de datos personalizado. Cuando se define una clase, se utiliza cargándola en la memoria. Una clase que se ha cargado en la memoria se denomina objeto oinstancia. Se crea una instancia de una clase utilizando la palabra clave de C# new
5
Clases en UML
Cada clase se representa en un rectángulo con tres compartimentos:
– Nombre – Atributos y propiedades – Métodos
6
Ing. Ramón Roque Hernández, M.C.
3
Programación Orientada a Objetos con C#
Cómo declarar una clase
class nombre_de_la_clase { … contenido de la clase … }
7Dentro de la clase…
• Se pueden declarar variables, propiedades, métodos, etc. • Cada elemento puede tener un modificador de acceso. • Un modificador de acceso especifica quienes están autorizados a “ver” ese elemento. • Si no se especifica ningún modificador de acceso, se asume que se trata de un elemento “private”.
8
Ing. Ramón Roque Hernández, M.C.
4
Programación Orientada aObjetos con C#
Modificadores de acceso
• public
Accesible a todos los elementos
• private
Accesible solo a esa misma clase
• protected
Accesible solo a la misma clase y métodos de sus clases derivadas. No accesible desde el exterior.
• internal
Accesible solo a ese ensamblado
• protected internal
Accesible desde el mismo ensamblado, la misma clase y métodos de sus clases derivadas9
Modificadores de acceso
Accesible desde … Modificador de acceso Clase donde se declaró Subclase (Mismo assembly) Subclase (Distinto Assembly) Externamente (Mismo Assembly) Externamente (Distinto Assembly)
private
SI
NO
NO
NO
NO
internal
SI
SI
NO
SI
NO
protected protected internal public
SI
SI
SI
NO
NO
SI
SI
SI
SI
NOSI
SI
SI
SI
SI 10
Ing. Ramón Roque Hernández, M.C.
5
Programación Orientada a Objetos con C#
Ejemplo: Variables con Modificadores de acceso
class claseA { //Si no se indica, es private int numero; private int numero1; public int numero2; protected int numero3 = 99; internal int numero4; protected internal int numero5; }
11
Representación de modificadores de acceso enC# y UML
Modificador de acceso Privado Público Protegido Interno Protegido interno Codificación en C# Representación en UML
private public protected internal protected internal
+ # ~ #
12
Ing. Ramón Roque Hernández, M.C.
6
Programación Orientada a Objetos con C#
Miembros estáticos y de instancia
• Miembro estático (static): Sólo se crea una copia del miembro de la clase....
Regístrate para leer el documento completo.