PDF de programación - 04.-Clases Y Objetos - Programación Orientada a Objetos en C#

Imágen de pdf 04.-Clases Y Objetos - Programación Orientada a Objetos en C#

04.-Clases Y Objetos - Programación Orientada a Objetos en C#gráfica de visualizaciones

Publicado el 17 de Febrero del 2019
461 visualizaciones desde el 17 de Febrero del 2019
1,0 MB
27 paginas
Creado hace 1a (15/08/2018)
Programación Orientada a Objetos en C# .NET

CAPÍTULO 4

CLASES Y OBJETOS

2

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

1

Programación Orientada a Objetos en C# .NET

Preguntas detonadoras

¿Cómo se pueden establecer restricciones de acceso a los

componentes definidos en una clase?

¿Qué es un mutator y un accessor? ¿Para qué sirven?
¿A qué se refiere la sentencia this? ¿Para qué sirve?

¿Cuándo se utiliza?

¿Cuándo

se

recomienda

utilizar

una

propiedad

autoimplementada?

¿Se pueden definir varios métodos con el mismo nombre

en una clase?

El constructor de una clase, ¿crea un objeto?
El destructor de una clase, ¿elimina un objeto?

3

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;

4

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

2

Programación Orientada a Objetos en C# .NET

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 o instancia.

Se crea una instancia de una clase utilizando la

palabra clave de C# new

Clases en UML
Cada clase se representa en un rectángulo con tres

compartimentos:

Nombre

Atributos

NombreDeLaClase

Aquí se escriben las características

Métodos y propiedades

Aquí se escriben las acciones

5

6

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

3

Programación Orientada a Objetos en C# .NET

Cómo declarar una clase

class nombre_de_la_clase

{

}

… contenido de la clase …

7

propiedades,

Dentro de la clase…

Se

métodos, delegados, eventos, etc.

pueden declarar

variables,

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. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

4

Programación Orientada a Objetos en C# .NET

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 derivadas

9

Modificadores de acceso

Accesible desde …

Modificador de

acceso

Clase donde
se declaró

private

internal

protected

protected
internal

public

SI

SI

SI

SI

SI

Subclase
(Mismo
assembly)

NO

SI

SI

SI

SI

Subclase
(Distinto
Assembly)

Externamente

Externamente

(Mismo

Assembly)

(Distinto
Assembly)

NO

NO

SI

SI

SI

NO

SI

NO

SI

SI

NO

NO

NO

NO

SI

10

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

5

Programación Orientada a Objetos en C# .NET

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 en C# y UML

Modificador de

Codificación en

Representación

acceso

Privado

Público

C#

private

public

Protegido

protected

Interno

internal

Protegido interno

protected internal

en UML

-
+
#
~
#

12

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

6

Programación Orientada a Objetos en C# .NET

Miembros estáticos y de
instancia

Miembro estático (static): Sólo se crea una
copia del miembro de la clase. Se crea
cuando se carga la aplicación que contiene la
clase
la
aplicación

existe mientras

y

se

ejecute

Miembro de instancia: Se crea por default. Se
crea una copia para cada instancia de la clase.

13

Miembros estáticos y de
instancia

Un miembro estático es un método o campo al
que se puede obtener acceso sin hacer referencia
a una instancia determinada de una clase

No es necesario crear una instancia de la clase

contenedora para llamar al miembro estático

Cuando se tiene acceso a métodos estáticos,
puede utilizar el nombre de clase, no el nombre
de instancia

14

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

7

Programación Orientada a Objetos en C# .NET

Declaración de miembros
estáticos
Cuando declara un campo de clase estático, todas las

instancias de esa clase compartirán ese campo

Una clase estática es una cuyos miembros son todos

estáticos

static void Main(string[] args)

{

}

Console.WriteLine(“Tec Laredo”);

Miembro estático

15

Atributos o campos

Un atributo o campo es un dato común a

todos los objetos de una determinada clase.

Las variables declaradas dentro de una clase

son ejemplos de atributos o campos

16

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

8

Programación Orientada a Objetos en C# .NET

Ejemplo de una clase

Ejemplo de una clase

class CuentaBancaria

{

// Declaración de los atributos
public string strNombreCliente;
public DateTime dtmFechaDeInversion;
private double _dblSaldo;

// Definción de los métodos
public int CalcularDiasDeInversion() {

// Aquí se escribe el código de este método

}

private double ConsultarSaldo() {

// Aquí se escribe el código de este método

}

public void Depositar(double dblCantidad, DateTime dtmFecha) {

// Aquí se escribe el código de este método

}

public bool OtorgarBono() {

// Aquí se escribe el código de este método

}

}

17

18

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

9

Programación Orientada a Objetos en C# .NET

Crear objetos:
Instanciación
Una vez creada la clase, ya es posible “consumirla”

mediante la instanciación.

La instanciación es el proceso de crear objetos a

partir de una clase.

Ejemplo en dos pasos:
ClaseA miobjetoA;
miobjetoA = new ClaseA();

1. Definir el tipo de

“miObjetoA”

2. Adquirir memoria sin

3.

inicializar para el nuevo
objeto usando new.
Ejecutar el constructor
para inicializar la
memoria y convertirla en
un objeto usable

Ejemplo en un paso:

ClaseA miobjetoA = new ClaseA();

19

Objetos en UML
En UML un objeto se representa como un rectángulo

con un nombre subrayado

miPersona

miAutomóvil

miCuentaBancaria

Los objetos no se crean automáticamente

cuando se declaran

20

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

10

Programación Orientada a Objetos en C# .NET

Declaración de objetos globales

namespace CircunferenciaFormas
{

public partial class Form1 : Form
{

// Aquí se declaran los objetos globales

// Declaración del objeto global
CuentaBancaria cuentaCheques;
// Creación del objeto global
cuentaCheques = new CuentaBancaria();

// Declaración y creación del objeto global en una sola línea
CuentaBancaria cuentaAhorros = new CuentaBancaria();

public Form1()
{

InitializeComponent();

}

...

Accediendo a los miembros de
los objetos
Asignación:

miobjetoA . Numero2 = 50;

Nombre
del objeto

Selección

Miembro

Lectura:
miOtraVariable = miobjetoA . Numero2;

21

22

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

11

Programación Orientada a Objetos en C# .NET

Métodos
Contienen instrucciones para ejecutar al momento

de ser invocados.

Un método contiene:

Modificador de Acceso (Determina su visibilidad)
Tipo de dato (Devuelto al finalizar su ejecución)
Identificador (Nombre con el cual se invoca)
Parámetros (Cero o mas variables que recibe el método)

No es recomendable diseñar clases cuyos métodos

implementen código para capturar y/o mostrar los valores
de sus atributos, ya que se pierde la reusabilidad de esa

clase en aplicaciones con otras plataformas

23

Uso de mutator y accessor

Al trabajar con objetos, primero deben introducirse los
valores de sus atributos y después ejecutar las acciones

invocando sus métodos.

24

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

12

Programación Orientada a Objetos en C# .NET

Diagramas de flujo de los métodos
de una clase

Circunferencia.ModificarRadio(double dblR): void

Circunferencia.ConsultarRadio(): double

_dblRadio = dblR

return

return( _dblRadio )

Circunferencia.CalcularArea(): double

Circunferencia.CalcularPerimetro(): double

Declaraciones locales:

dblArea: double

Declaraciones locales:
dblPerimetro: double

dblArea = Math.PI * _dblRadio * _dblRadio

dblPerimetro = Math.PI * _dblRadio * 2

return(dlbArea)

return(dlbPerimetro)

25

Codificación de la clase

class Circunferencia

{

// Declaración del atributo privado
private double _dblRadio;

// Mutator
public void ModificarRadio(double dblR)
{

_dblRadio = dblR;

}

// Accessor
public double ConsultarRadio()
{

return (_dblRadio);

}

// Método público para calcular el área
public double CalcularArea()
{

// Declaración de variable local
double dblArea;

dblArea=Math.PI * _dblRadio * _dblRadio;

return (dblArea); // Devuelve el resultado

}

// Método público para calcular el perímetro
public double CalcularPerimetro()
{

// Declaración de variable local
double dblPerimetro;

dblPerimetro=Math.PI * _dblRadio * 2;

return (dblPerimetro);

// Devuelve el resultado

}

}

26

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

13

Program
  • Links de descarga
http://lwp-l.com/pdf15254

Comentarios de: 04.-Clases Y Objetos - Programación Orientada a Objetos en C# (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad