Publicado el 17 de Febrero del 2019
2.962 visualizaciones desde el 17 de Febrero del 2019
1,3 MB
32 paginas
Creado hace 5a (15/08/2018)
Fundamentos de Programación
CAPÍTULOS
1.- INTRODUCCIÓN AL PARADIGMA ORIENTADO
A OBJETOS
4.- CLASES Y OBJETOS
2
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
1
Fundamentos de Programación
Preguntas detonadoras
¿Qué es una clase?
¿Qué es un objeto?
¿Representa lo mismo una clase que un objeto?
Diversos objetos creados a partir de la misma clase, ¿son
iguales?
¿Qué significa el término instancia?
¿Cómo se logra que un objeto almacene datos y también
realice acciones?
¿Qué es un atributo, propiedad y método?
¿Cuál es la diferencia entre atributo y propiedad?
¿Cómo se diseña el modelo de una aplicación orientada a
objetos?
3
Descarga de utilerías y herramientas
Microsoft Visual Studio (programación en C# .Net)
Nclass (software para el diseño de clases)
WizFlow (software para diseñar diagramas de flujo)
Enlaces de descarga en:
http://www.itnuevolaredo.edu.mx/Takeyas/Materias/POO/descargas.htm
4
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
2
Fundamentos de Programación
Programación Orientada a Objetos
POO es un conjunto de técnicas que pueden
programas
desarrollar
para
utilizarse
eficientemente.
Los objetos son los elementos principales de
construcción.
La Orientación a Objetos (OO) es el estilo
dominante de programación, descripción y
modelado de hoy en dia.
5
La POO es …
se
organizan
“Un método de implementación en el que los
programas
colecciones
cooperativas de objetos, cada uno de los cuales
representa una instancia de alguna clase y cuyas
clases son todas miembros de una jerarquía de
clases unidas mediante relaciones”
como
Grady Booch
6
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
3
Fundamentos de Programación
Programación Orientada a Objetos
7
8
Objetos en el mundo real
Lavadora
Perro
Televisión
Persona
Factura
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
4
Fundamentos de Programación
Podemos darnos
cuenta que…
Los objetos poseen características que
los distinguen entre sí.
Los objetos tienen acciones asociadas
a ellos.
9
10
Ejemplo: PERRO
Características:
Nombre: “FIDO”
Raza: “Chihuahua”
Color: “Café”
….etc…
Acciones:
[“Guau Guau”]
Ladrar
Comer [“Chomp Chomp”]
Dormir [“Zzzzzzzz”]
…etc…
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
5
Fundamentos de Programación
Todos los objetos tienen Estado,
Comportamiento e Identidad
Valor de sus
características
(Atributos)
Acciones que
puede realizar
(Métodos)
Pertenece
a una clase
y tiene un
nombre
único
ESTADO
COMPORTAMIENTO
IDENTIDAD
Abstracción
La abstracción se centra en las
características esenciales de algún objeto,
en relación a la
perspectiva del observador.
11
12
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
6
Fundamentos de Programación
Encapsulamiento
Permite incluir en una sola entidad
información y operaciones que controlan dicha
información.
Permite:
Componentes públicos [Accesibles, Visibles].
Componentes privados [No accesibles, Ocultos].
Restricción de accesos indebidos.
Clase
Es
de
una
descripción
las
características y acciones para un tipo
de objetos.
Una clase NO es un objeto. Es solo
o
una
definición para crear objetos.
plano, molde
plantilla,
13
14
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
7
Fundamentos de Programación
Clase
Contiene todas las características comunes de
ese conjunto de objetos
Clase = Modelo = Plantilla = Esquema =
Descripción de la anatomía de los objetos.
A partir de una clase se pueden crear muchos
objetos independientes con las mismas
características.
Objeto
Unidad que combina datos y funciones.
Datos = Atributos = Características
Funciones = Métodos = Procedimientos =Acciones
Un objeto es creado a partir de una clase.
Los datos y funciones están Encapsulados.
Posee un nombre único (identificador).
Un objeto es del tipo de una clase
“Un objeto es la instancia de una clase”
Un objeto es un ejemplar específico creado con la
estructura de una clase.
15
16
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
8
Fundamentos de Programación
Instancia
Es la creación o manifestación concreta de un
objeto a partir de su clase
Clases y Objetos
“FIDO” es UN “PERRO”
“FIDO” es del TIPO “PERRO”
“FIDO” es un OBJETO
“PERRO” es la CLASE de “FIDO”
“CHESTER” es OTRO “PERRO”
“CHESTER” también es del TIPO “PERRO”
“CHESTER” es otro OBJETO
“PERRO” también es la clase de “CHESTER”
17
18
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
9
Fundamentos de Programación
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
NombreDeLaClase
Atributos (datos)
Aquí se escriben las características
Métodos y propiedades
(acciones)
Aquí se escriben las acciones
19
20
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
10
Fundamentos de Programación
Dentro de la clase…
Se
métodos, delegados, eventos, etc.
pueden declarar
variables,
propiedades,
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”.
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
21
22
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
11
Fundamentos de Programación
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
Atributos
Representan los datos de los
objetos
Son controlados a través de la
declaración de variables
Es importante identificar el
tipo de dato
Se debe seleccionar sólo
aquellos atributos necesarios
para el modelo planteado
(abstracción)
23
24
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
12
Fundamentos de Programación
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
25
Ejemplo: Atributos de un
estudiante
Atributos:
string claveMatricula;
claveMatrícula: “A-233”
nombre: “Bruno López Takeyas”
grado: 3
grupo: ‘A’
promedio: 87.4
string nombre;
int grado;
char grupo;
float promedio;
26
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
13
Fundamentos de Programación
Tipos de datos más comunes en
C#
Numérico
Entero (int)
Real (float, double)
Alfanumérico
Caracter (char)
Cadena (string)
Lógico
Booleano (bool)
Calendario
Fecha y hora (DateTime)
Tipos de datos en C#
27
28
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
14
Fundamentos de Programación
Tipos de datos enteros
29
Tipo de
Dato
Sbyte
byte
Char
Int16 ó
short
UInt16 ó
ushort
int ó Int32
uint
Int64 ó
long
UInt64 ó
ulong
float
double
Tamaño
(bytes)
Valor más pequeño
Valor más grande
1
1
2
2
2
4
4
8
8
4
8
-128
0
0
-32, 768
0
127
255
65, 535
32, 767
65, 535
-2, 147, 483, 648
0
2, 147, 483, 647
4, 294, 967, 295
-9, 223, 372, 036, 854, 775, 808
9, 223, 372, 036, 854, 775, 807
0
18,446,744,073,709,551,615
-3.402823E+38
3.402823E+38
-1.79769313486232E+308
1.79769313486232E+308
decimal
16
-79,228,162,514,264,337,593,543,950,335
79,228,162,514,264,337,593,543,950,335
30
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
15
Fundamentos de Programación
Identificadores
Pueden iniciar con una letra o _
Evitar caracteres especiales como +, -, &
Puede tener mayúsculas y minúsculas; sin embargo,
edad no es lo mismo que Edad
Puede ser de cualquier longitud; p. ejem.
Edad_alumno, Sueldo_empleado
Nomenclatura sugerida para
identificar los componentes de un
proyecto
http://www.itnuevolaredo.edu.mx/Takeyas/Ap
untes/POO/Apuntes/02.-
%20NomenclaturaComponentesProyecto.pdf
31
32
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas
16
Fundamentos de Programación
Ejemplo: Variables con
modificadores de acceso
class MiClase
{
//Si no se indica, es private
int _intNumero;
private int _intNumero1;
public in
Comentarios de: 02a- Clases Y Objetos - Programación Orientada a Objetos en C# .NET (0)
No hay comentarios