SlideShare una empresa de Scribd logo
1 de 37
CARRERA:
Ingeniería en Software
ASIGNATURA:
Programación II
TEMA:
El Software
FACILITADOR:
Ing. Yordi Morán M.A
PARTICIPANTE:
Miguel Ángel Luciano Sánchez
MATRICULA:
15-7985
FECHA:
10-06-2016
LUGAR:
Santiago R.D.
TEMA: CLASES
DEFINICIÓN DE CLASES:
Conceptos de clase y objeto
C# es un lenguaje orientado a objetos puro, lo que significa que
todo con lo que vamos a trabajar en este lenguaje son objetos.
objeto es un agregado de datos y de métodos que permiten
manipular dichos datos, y un programa en C# no es más que un
conjunto de objetos que interaccionan unos con otros a través
sus métodos
Una clase es la definición de las características
concretas de un determinado tipo de objetos. Es decir,
de cuáles son los datos y los métodos de los que van a
disponer todos los objetos de ese tipo. Por esta razón, se
suele decir que el tipo de dato de un objeto es la clase
que define las características del mismo.
SINTAXIS DE DEFINICIÓN DE CLASES
La sintaxis básica para definir una clase es la que a continuación se muestra:
class <nombreClase>
{
<miembros>
}
De este modo se definiría una clase de nombre <nombreClase>
cuyos miembros son los definidos en <miembros> Los miembros
de una clase son los datos y métodos de los que van a disponer
todos los objetos de la misma. Un ejemplo de cómo declarar una
clase de nombre A que no tenga ningún miembro es la siguiente:
class A
{
}
CAMPOS:
Un campo es un dato común a todos los objetos de una
determinada clase. Para definir cuáles son los campos de los
que una clase dispone se usa la siguiente sintaxis dentro de la
zona señalada como <miembros> en la definición de la misma:
<tipoCampo> <nombreCampo>;
El nombre que demos al campo puede ser cualquier identificador
que queramos siempre y cuando siga las reglas descritas en el
Tema Aspectos Léxicos para la escritura de identificadores y no
coincida con el nombre de ningún otro miembro previamente
definido en la definición de clase.
Ejemplo de definición de una clase de nombre Persona que dispone de tres campos:
class Persona
{
string Nombre; // Campo de cada objeto Persona que almacena su nombre
int Edad; // Campo de cada objeto Persona que almacena su edad
string NIF; // Campo de cada objeto Persona que almacena su NIF
}
Según esta definición, todos los objetos de clase Persona
incorporarán campos que almacenarán cuál es el nombre de la
persona que cada objeto representa, cuál es su edad y cuál es
su NIF.
MÉTODO:
Un método es un conjunto de instrucciones a las que se les asocia un nombre de modo
que si se desea ejecutarlas basta referenciarlas a través de dicho nombre en vez de tener
que escribirlas. Dentro de estas instrucciones es posible acceder con total libertad a la
información almacenada en los campos pertenecientes a la clase dentro de la que el
método se ha definido, por lo que como al principio del tema se indicó, los métodos
permiten manipular los datos almacenados en los objetos.
La sintaxis que se usa en C# para definir los métodos es la
siguiente:
<tipoDevuelto> <nombreMétodo> (<parametros>)
{
<instrucciones>
}
Un ejemplo de cómo declarar un método de nombre
Cumpleaños es la siguiente modificación de la definición de la
clase Persona usada antes como ejemplo:
class Persona
{
string Nombre; // Campo de cada objeto Persona que almacena su nombre
int Edad; // Campo de cada objeto Persona que almacena su edad
string NIF; // Campo de cada objeto Persona que almacena su NIF
void Cumpleaños() // Incrementa en uno de la edad del objeto Persona
{
Edad++;
}
}
CREACIÓN DE OBJETOS
Operador new
Ahora que ya sabemos cómo definir las clases de objetos que podremos usar en nuestras
aplicaciones ha llegado el momento de explicar cómo crear objetos de una determinada
clase. Algo de ello ya se introdujo en el Tema 4: Aspectos Léxicos cuando se comentó la
utilidad del operador new, que precisamente es crear objetos y cuya sintaxis es:
new <nombreTipo>(<parametros>)
Este operador crea un nuevo objeto del tipo cuyo nombre se le
indica y llama durante su proceso de creación al constructor del
mismo apropiado según los valores que se le pasen en
<parametros>, devolviendo una referencia al objeto recién
creado.
ejemplo:
public abstract class A
{
public abstract void F();
}
abstract public class B: A
{
public void G() {}
}
class C: B
{
public override void F()
{}
}
LA CLASE PRIMIGENIA: SYSTEM.OBJECT
 Ahora que sabemos lo que es la herencia es el momento apropiado
para explicar que en .NET todos los tipos que se definan heredan
implícitamente de la clase System.Object predefinida en la BCL, por lo
que dispondrán de todos los miembros de ésta. Por esta razón se dice
que System.Object es la raíz de la jerarquía de objetos de .NET.
CLASES MÉTODOS Y SELLADOS:
Una clase sellada es una clase que no puede tener clases hijas, y para
definirla basta anteponer el modificador sealed a la definición de una
clase normal. Por ejemplo:
sealed class ClaseSellada
{
}
Una utilidad de definir una clase como sellada es que
permite que las llamadas a sus métodos virtuales heredados
se realicen tan eficientemente como si fuesen no virtuales,
pues al no poder existir clases hijas que los redefinan no
puede haber polimorfismo y no hay que determinar cuál es la
versión correcta del método a la que se ha de llamar.
OCULTACIÓN DE MIEMBROS:
Hay ocasiones en las que puede resultar interesante usar la
herencia únicamente como mecanismo de reutilización de código
pero no necesariamente para reutilizar miembros. Es decir, puede
que interese heredar de una clase sin que ello implique que su
clase hija herede sus miembros tal cuales sino con ligeras
modificaciones.
En C# podemos ocultar miembros (funciones: métodos,
propiedades, indezadores, eventos; y campos) a través de
construcciones del lenguaje. Exactamente por medio de la
palabra clave new .En los ejemplos próximos, veremos que la
ausencia de esta construcción, hace que el compilador
arrojará una advertencia sobre el uso no adecuado y
consciente de la ocultación del miembro heredado.
Miembros de tipo
En realidad, dentro la definición de un tipo de dato no tiene porqué incluirse sólo definiciones de
miembros comunes a todos sus objetos, sino también pueden definirse miembros ligados al tipo
como tal y no a los objetos del mismo. Para ello basta preceder la definición de ese miembro de la
palabra reservada static, como muestra este ejemplo:
class A
{
int x;
static int y;
}
Los objetos de clase A sólo van a disponer del campo x, mientras que
el campo y va a pertenecer a la clase A. Por esta razón se dice que los
miembros con modificador static son miembros de tipo y que los no
lo tienen son miembros de objeto.
Para acceder a un miembro de clase ya no es válida la sintaxis hasta
ahora vista de <objeto>.<miembro>, pues al no estar estos
miembros ligados a ningún objeto no podría ponerse nada en el
campo <objeto>.
Clases
Clases

Más contenido relacionado

La actualidad más candente

11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
Métodos POO
Métodos POOMétodos POO
Métodos POO1da4
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Ezer Ayala Mutul
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++Karime Hernández
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
Poocpp2
Poocpp2Poocpp2
Poocpp2Leotom
 
Programación ii presentación tema 5
Programación ii presentación tema 5Programación ii presentación tema 5
Programación ii presentación tema 5Joel Mieses
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Pooda4
 
Poo Java
Poo JavaPoo Java
Poo Javaeccutpl
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevjtk1
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 

La actualidad más candente (20)

Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
POO
POOPOO
POO
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Poocpp2
Poocpp2Poocpp2
Poocpp2
 
Programación ii presentación tema 5
Programación ii presentación tema 5Programación ii presentación tema 5
Programación ii presentación tema 5
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Poo
PooPoo
Poo
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
 
Definición de clases en POO
Definición de clases en POODefinición de clases en POO
Definición de clases en POO
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 

Similar a Clases

Tarea 5
Tarea 5Tarea 5
Tarea 5ar qb
 
Trabajo teorico de java
Trabajo teorico de javaTrabajo teorico de java
Trabajo teorico de javaUNEFA
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetosDon Augusto
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Php orientado a_objetos
Php orientado a_objetosPhp orientado a_objetos
Php orientado a_objetosJose Ney Quil
 
Memch clases lep ii
Memch   clases lep iiMemch   clases lep ii
Memch clases lep iidani Safres
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completadoKai Exo
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosGladys Castillejos
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1Rokr02
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POOLibertad25
 
Trabajo de diceño y realizacion
Trabajo de diceño y realizacionTrabajo de diceño y realizacion
Trabajo de diceño y realizacionLolyPila
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosAntonio Palomares Sender
 
Conceptos de programación orientada a objetos
Conceptos de programación orientada a objetosConceptos de programación orientada a objetos
Conceptos de programación orientada a objetosGabriel Mondragón
 

Similar a Clases (20)

Odaliz presentacion
Odaliz presentacionOdaliz presentacion
Odaliz presentacion
 
Leguaje de programacion C#
Leguaje de programacion C#Leguaje de programacion C#
Leguaje de programacion C#
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Trabajo teorico de java
Trabajo teorico de javaTrabajo teorico de java
Trabajo teorico de java
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Php orientado a_objetos
Php orientado a_objetosPhp orientado a_objetos
Php orientado a_objetos
 
Memch clases lep ii
Memch   clases lep iiMemch   clases lep ii
Memch clases lep ii
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
 
Trabajo de diceño y realizacion
Trabajo de diceño y realizacionTrabajo de diceño y realizacion
Trabajo de diceño y realizacion
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
Conceptos de programación orientada a objetos
Conceptos de programación orientada a objetosConceptos de programación orientada a objetos
Conceptos de programación orientada a objetos
 
manual de C#
manual de C#manual de C#
manual de C#
 

Último

DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinosDayanaCarolinaAP
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosMARGARITAMARIAFERNAN1
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 

Último (20)

DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinos
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 

Clases

  • 1. CARRERA: Ingeniería en Software ASIGNATURA: Programación II TEMA: El Software FACILITADOR: Ing. Yordi Morán M.A PARTICIPANTE: Miguel Ángel Luciano Sánchez MATRICULA: 15-7985 FECHA: 10-06-2016 LUGAR: Santiago R.D.
  • 3. DEFINICIÓN DE CLASES: Conceptos de clase y objeto C# es un lenguaje orientado a objetos puro, lo que significa que todo con lo que vamos a trabajar en este lenguaje son objetos. objeto es un agregado de datos y de métodos que permiten manipular dichos datos, y un programa en C# no es más que un conjunto de objetos que interaccionan unos con otros a través sus métodos
  • 4. Una clase es la definición de las características concretas de un determinado tipo de objetos. Es decir, de cuáles son los datos y los métodos de los que van a disponer todos los objetos de ese tipo. Por esta razón, se suele decir que el tipo de dato de un objeto es la clase que define las características del mismo.
  • 5. SINTAXIS DE DEFINICIÓN DE CLASES La sintaxis básica para definir una clase es la que a continuación se muestra: class <nombreClase> { <miembros> }
  • 6. De este modo se definiría una clase de nombre <nombreClase> cuyos miembros son los definidos en <miembros> Los miembros de una clase son los datos y métodos de los que van a disponer todos los objetos de la misma. Un ejemplo de cómo declarar una clase de nombre A que no tenga ningún miembro es la siguiente: class A { }
  • 7. CAMPOS: Un campo es un dato común a todos los objetos de una determinada clase. Para definir cuáles son los campos de los que una clase dispone se usa la siguiente sintaxis dentro de la zona señalada como <miembros> en la definición de la misma: <tipoCampo> <nombreCampo>;
  • 8. El nombre que demos al campo puede ser cualquier identificador que queramos siempre y cuando siga las reglas descritas en el Tema Aspectos Léxicos para la escritura de identificadores y no coincida con el nombre de ningún otro miembro previamente definido en la definición de clase.
  • 9. Ejemplo de definición de una clase de nombre Persona que dispone de tres campos: class Persona { string Nombre; // Campo de cada objeto Persona que almacena su nombre int Edad; // Campo de cada objeto Persona que almacena su edad string NIF; // Campo de cada objeto Persona que almacena su NIF }
  • 10. Según esta definición, todos los objetos de clase Persona incorporarán campos que almacenarán cuál es el nombre de la persona que cada objeto representa, cuál es su edad y cuál es su NIF.
  • 11. MÉTODO: Un método es un conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea ejecutarlas basta referenciarlas a través de dicho nombre en vez de tener que escribirlas. Dentro de estas instrucciones es posible acceder con total libertad a la información almacenada en los campos pertenecientes a la clase dentro de la que el método se ha definido, por lo que como al principio del tema se indicó, los métodos permiten manipular los datos almacenados en los objetos.
  • 12. La sintaxis que se usa en C# para definir los métodos es la siguiente: <tipoDevuelto> <nombreMétodo> (<parametros>) { <instrucciones> }
  • 13. Un ejemplo de cómo declarar un método de nombre Cumpleaños es la siguiente modificación de la definición de la clase Persona usada antes como ejemplo:
  • 14. class Persona { string Nombre; // Campo de cada objeto Persona que almacena su nombre int Edad; // Campo de cada objeto Persona que almacena su edad string NIF; // Campo de cada objeto Persona que almacena su NIF void Cumpleaños() // Incrementa en uno de la edad del objeto Persona { Edad++; } }
  • 15. CREACIÓN DE OBJETOS Operador new Ahora que ya sabemos cómo definir las clases de objetos que podremos usar en nuestras aplicaciones ha llegado el momento de explicar cómo crear objetos de una determinada clase. Algo de ello ya se introdujo en el Tema 4: Aspectos Léxicos cuando se comentó la utilidad del operador new, que precisamente es crear objetos y cuya sintaxis es: new <nombreTipo>(<parametros>)
  • 16. Este operador crea un nuevo objeto del tipo cuyo nombre se le indica y llama durante su proceso de creación al constructor del mismo apropiado según los valores que se le pasen en <parametros>, devolviendo una referencia al objeto recién creado.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. ejemplo: public abstract class A { public abstract void F(); } abstract public class B: A { public void G() {} } class C: B { public override void F() {} }
  • 22.
  • 23. LA CLASE PRIMIGENIA: SYSTEM.OBJECT  Ahora que sabemos lo que es la herencia es el momento apropiado para explicar que en .NET todos los tipos que se definan heredan implícitamente de la clase System.Object predefinida en la BCL, por lo que dispondrán de todos los miembros de ésta. Por esta razón se dice que System.Object es la raíz de la jerarquía de objetos de .NET.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. CLASES MÉTODOS Y SELLADOS: Una clase sellada es una clase que no puede tener clases hijas, y para definirla basta anteponer el modificador sealed a la definición de una clase normal. Por ejemplo: sealed class ClaseSellada { }
  • 31. Una utilidad de definir una clase como sellada es que permite que las llamadas a sus métodos virtuales heredados se realicen tan eficientemente como si fuesen no virtuales, pues al no poder existir clases hijas que los redefinan no puede haber polimorfismo y no hay que determinar cuál es la versión correcta del método a la que se ha de llamar.
  • 32. OCULTACIÓN DE MIEMBROS: Hay ocasiones en las que puede resultar interesante usar la herencia únicamente como mecanismo de reutilización de código pero no necesariamente para reutilizar miembros. Es decir, puede que interese heredar de una clase sin que ello implique que su clase hija herede sus miembros tal cuales sino con ligeras modificaciones.
  • 33. En C# podemos ocultar miembros (funciones: métodos, propiedades, indezadores, eventos; y campos) a través de construcciones del lenguaje. Exactamente por medio de la palabra clave new .En los ejemplos próximos, veremos que la ausencia de esta construcción, hace que el compilador arrojará una advertencia sobre el uso no adecuado y consciente de la ocultación del miembro heredado.
  • 34. Miembros de tipo En realidad, dentro la definición de un tipo de dato no tiene porqué incluirse sólo definiciones de miembros comunes a todos sus objetos, sino también pueden definirse miembros ligados al tipo como tal y no a los objetos del mismo. Para ello basta preceder la definición de ese miembro de la palabra reservada static, como muestra este ejemplo: class A { int x; static int y; }
  • 35. Los objetos de clase A sólo van a disponer del campo x, mientras que el campo y va a pertenecer a la clase A. Por esta razón se dice que los miembros con modificador static son miembros de tipo y que los no lo tienen son miembros de objeto. Para acceder a un miembro de clase ya no es válida la sintaxis hasta ahora vista de <objeto>.<miembro>, pues al no estar estos miembros ligados a ningún objeto no podría ponerse nada en el campo <objeto>.