SlideShare una empresa de Scribd logo
•LENGUAJE DE PROGRAMACION EN C#
CLASES
CLASES
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
Tarea v de programacion ii
• 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 en la definición de la misma.
Métodos:
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.
Herencia y métodos virtuales
El mecanismo de herencia es uno de los pilares fundamentales en los que se basa la programación
orientada a objetos. Es un mecanismo que permite definir nuevas clases a partir de otras ya definidas
de modo que si en la definición de una clase indicamos que
Llamadas por defecto al constructor base:
Si en la definición del constructor de alguna clase que derive de otra no incluimos inicializador
base el compilador considerará que éste es :base() Por ello hay que estar seguros de que si no se
incluye base en la definición de algún constructor, el tipo padre del tipo al que pertenezca
disponga de constructor sin parámetros. Es especialmente significativo reseñar el caso de que no
demos la definición de ningún constructor en la clase hija, ya que en estos casos la definición del
constructor que por defecto introducirá el compilador será en realidad de la forma:
<nombreClase>(): base()
{}
Es decir, este constructor siempre llama al constructor sin parámetros del padre del tipo que
estemos definiendo, y si ése no dispone de alguno se producirá un error al compilar.
Tarea v de programacion ii
Tarea v de programacion ii
La clase primegenia: 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.
Hay que tener en cuenta que es conveniente que toda
redefinición del método Equals() que hagamos cumpla con una
serie de propiedades que muchos de los métodos incluidos en
las distintas clases de la BCL esperan que se cumplan. Estas
propiedades son:
‰ Reflexividad: Todo objeto ha de ser igual a sí mismo. Es
decir, x.Equals(x) siempre ha de devolver true.
‰Simetría: Ha de dar igual el orden en que se haga la
comparación. Es decir, x.Equals(y) ha de devolver lo mismo que
y.Equals(x) : Si dos objetos son iguales y uno de ellos es igual a
otro, entonces el primero también ha de ser igual a ese otro
objeto. Es decir, si x. Equals(y) e y.Equals(z) entonces x.Equals(z) .
‰ Consistencia: Siempre que el método se aplique sobre los
mismos objetos ha de devolver el mismo resultado.
‰Tratamiento de objetos nulos: Si uno de los objetos
comparados es nulo (null), sólo se ha de devolver true si el otro
también lo es.
Polimorfismo
El polimorfismo es otro de los pilares fundamentales de la programación orientada a objetos. Es la
capacidad de almacenar objetos de un determinado tipo en variables de tipos antecesores del primero a
costa, claro está, de sólo poderse acceder a través de dicha variable a los miembros comunes a ambos
tipos.
Sin embargo, las versiones de los métodos virtuales a las que se llamaría a través de esas variables no
serían las definidas como miembros del tipo de dichas variables, sino las definidas en el verdadero tipo de
los objetos que almacenan.
Métodos genéricos
El polimorfismo es muy útil ya que permite escribir métodos genéricos que puedan recibir
parámetros que sean de un determinado tipo o de cualquiera de sus tipos hijos. Es más, en tanto
que cómo se verá en el epígrafe siguiente, en C# todos los tipos derivan implícitamente del tipo
System.
Object, podemos escribir métodos que admitan parámetros de cualquier tipo sin más que
definirlos como métodos que tomen parámetros de tipo System.Object.
Determinación de tipo. Operador is Dentro de una rutina polimórifica que, como la del ejemplo anterior,
admita parámetros que puedan ser de cualquier tipo, muchas veces es conveniente poder consultar en el
código de la misma cuál es el tipo en concreto del parámetro que se haya pasado al método en cada
llamada al mismo.
Para ello C# ofrece el operador is, cuya forma sintaxis de uso es:
is Este operador devuelve true en caso de que el resultado de evaluar sea del tipo cuyo nombre es y false
en caso contrario8 . Gracias a ellas podemos escribir métodos genéricos que puedan determinar cuál es el
tipo que tienen los parámetros que en cada llamada en concreto se les pasen. O sea, métodos como:
Tarea v de programacion ii
Tarea v de programacion ii
Encapsulación
Ya hemos visto que la herencia y el polimorfismo eran dos de los pilares
fundamentales en los que es apoya la programación orientada a objetos.
Pues bien, el tercero y último es la encapsulación, que es un mecanismo que
permite a los diseñadores de tipos de datos determinar qué miembros de los
tipos creen pueden ser utilizados por otros programadores y cuáles no. Las
principales ventajas que ello aporta son:
FIN

Más contenido relacionado

DOCX
P2 actividades 2 y 3 infografía palabras reservadas
PPT
Herencia Y Polimorfismo
PPTX
Polimorfismo en Java
PPT
Constructor Y Destructor
PPTX
Polimorfismo ppt
PPTX
Programación Orientada a Objetos - constructores y destructores
PPT
Semana9b Vbr
PDF
10.Polimorfismo Java
P2 actividades 2 y 3 infografía palabras reservadas
Herencia Y Polimorfismo
Polimorfismo en Java
Constructor Y Destructor
Polimorfismo ppt
Programación Orientada a Objetos - constructores y destructores
Semana9b Vbr
10.Polimorfismo Java

La actualidad más candente (20)

PPT
4 Polimorfismo
PDF
Polimorfismo
PDF
Polimorfismo
PPTX
Metodos Constructor Y Destructor
PDF
Polimorfismo en JAVA
PPTX
Constructores en java(grupo 8)
PPTX
10 Polimorfismo
PPTX
Leguaje de programacion C#
DOC
Operadores C SHARP
PDF
Polimorfismo
PDF
polimorfismo
PPT
Polimorfismo en Java
DOCX
Contructores en java(grupo 8)
DOC
Las estructuras de control
PDF
Tema 3 sentencias de control de java por gio
PPTX
09 Clases Abstractas E Interfaces
PPTX
Polimorfismo
PPT
Leccion 9 Java
PDF
Polimorfismo_PApps
DOCX
Tarea 5
4 Polimorfismo
Polimorfismo
Polimorfismo
Metodos Constructor Y Destructor
Polimorfismo en JAVA
Constructores en java(grupo 8)
10 Polimorfismo
Leguaje de programacion C#
Operadores C SHARP
Polimorfismo
polimorfismo
Polimorfismo en Java
Contructores en java(grupo 8)
Las estructuras de control
Tema 3 sentencias de control de java por gio
09 Clases Abstractas E Interfaces
Polimorfismo
Leccion 9 Java
Polimorfismo_PApps
Tarea 5
Publicidad

Similar a Tarea v de programacion ii (20)

PPTX
Programacion
PPTX
PPTX
Presentacion de clases en c#
DOCX
Manual de c#
DOCX
manual de C#
DOCX
Manual c# 2
PPTX
Características de c sharp
PPTX
Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...
PPTX
Framework .NET 3.5 05 Tipo y jerarquía de objetos
PPTX
Programacion Orientada a Objetos
PPTX
Conceptos basicos POO
PPTX
Programación Orientada a Objetos
PPTX
Trabajo de diceño y realizacion
PPT
8. Uso De Variables De Tipo Referencia
PDF
Programacion orientada-a-objetos
PDF
zines.esp.v12.pdf
PDF
Reporte_de_microsoft_visual_c#
PPT
1. introducción a c#
Programacion
Presentacion de clases en c#
Manual de c#
manual de C#
Manual c# 2
Características de c sharp
Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...
Framework .NET 3.5 05 Tipo y jerarquía de objetos
Programacion Orientada a Objetos
Conceptos basicos POO
Programación Orientada a Objetos
Trabajo de diceño y realizacion
8. Uso De Variables De Tipo Referencia
Programacion orientada-a-objetos
zines.esp.v12.pdf
Reporte_de_microsoft_visual_c#
1. introducción a c#
Publicidad

Último (13)

PPTX
def2025SEMILLERO DE INVESTIGACION TRAZANDO RUTAS.pptx
PPTX
MOVILIZACION Y TRANSPORTE DEL ADULTO MAYOR-1.pptx
DOCX
Sistemas Operativos, su importancia y objetivos.
PPTX
DEFENSA DE TESIS RIDER DUARTE año 2025..
PDF
awwwwwwwwwwwwwwwwwwwwwwwwaeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
PDF
Funciones de material didáctico para formación
PPTX
Emergencias-y-Urgencias-Medicas.pptx....
PPTX
PropuestaPasantiayTFG para almunado de electronica de potencia
PPTX
Presentation 4 hipermesis Gravidica ptrt
PPTX
TAREA PRÁCTICA DE LA UNIVERSIDAD BOLIBARIANA DEL ECUADOR
PPTX
ap_presentacion_taller_0620vvvvvvvvvvvvv21.pptx
PPTX
Clase Gramineas.pptx......................
PDF
27.-PRESENTACION-SALUD-NUTRICIONAL-EN-LOS-TRABAJADORES.pdf
def2025SEMILLERO DE INVESTIGACION TRAZANDO RUTAS.pptx
MOVILIZACION Y TRANSPORTE DEL ADULTO MAYOR-1.pptx
Sistemas Operativos, su importancia y objetivos.
DEFENSA DE TESIS RIDER DUARTE año 2025..
awwwwwwwwwwwwwwwwwwwwwwwwaeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Funciones de material didáctico para formación
Emergencias-y-Urgencias-Medicas.pptx....
PropuestaPasantiayTFG para almunado de electronica de potencia
Presentation 4 hipermesis Gravidica ptrt
TAREA PRÁCTICA DE LA UNIVERSIDAD BOLIBARIANA DEL ECUADOR
ap_presentacion_taller_0620vvvvvvvvvvvvv21.pptx
Clase Gramineas.pptx......................
27.-PRESENTACION-SALUD-NUTRICIONAL-EN-LOS-TRABAJADORES.pdf

Tarea v de programacion ii

  • 2. CLASES 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
  • 4. • 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 en la definición de la misma.
  • 5. Métodos: 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.
  • 6. Herencia y métodos virtuales El mecanismo de herencia es uno de los pilares fundamentales en los que se basa la programación orientada a objetos. Es un mecanismo que permite definir nuevas clases a partir de otras ya definidas de modo que si en la definición de una clase indicamos que
  • 7. Llamadas por defecto al constructor base: Si en la definición del constructor de alguna clase que derive de otra no incluimos inicializador base el compilador considerará que éste es :base() Por ello hay que estar seguros de que si no se incluye base en la definición de algún constructor, el tipo padre del tipo al que pertenezca disponga de constructor sin parámetros. Es especialmente significativo reseñar el caso de que no demos la definición de ningún constructor en la clase hija, ya que en estos casos la definición del constructor que por defecto introducirá el compilador será en realidad de la forma: <nombreClase>(): base() {} Es decir, este constructor siempre llama al constructor sin parámetros del padre del tipo que estemos definiendo, y si ése no dispone de alguno se producirá un error al compilar.
  • 10. La clase primegenia: 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.
  • 11. Hay que tener en cuenta que es conveniente que toda redefinición del método Equals() que hagamos cumpla con una serie de propiedades que muchos de los métodos incluidos en las distintas clases de la BCL esperan que se cumplan. Estas propiedades son: ‰ Reflexividad: Todo objeto ha de ser igual a sí mismo. Es decir, x.Equals(x) siempre ha de devolver true. ‰Simetría: Ha de dar igual el orden en que se haga la comparación. Es decir, x.Equals(y) ha de devolver lo mismo que y.Equals(x) : Si dos objetos son iguales y uno de ellos es igual a otro, entonces el primero también ha de ser igual a ese otro objeto. Es decir, si x. Equals(y) e y.Equals(z) entonces x.Equals(z) . ‰ Consistencia: Siempre que el método se aplique sobre los mismos objetos ha de devolver el mismo resultado. ‰Tratamiento de objetos nulos: Si uno de los objetos comparados es nulo (null), sólo se ha de devolver true si el otro también lo es.
  • 12. Polimorfismo El polimorfismo es otro de los pilares fundamentales de la programación orientada a objetos. Es la capacidad de almacenar objetos de un determinado tipo en variables de tipos antecesores del primero a costa, claro está, de sólo poderse acceder a través de dicha variable a los miembros comunes a ambos tipos. Sin embargo, las versiones de los métodos virtuales a las que se llamaría a través de esas variables no serían las definidas como miembros del tipo de dichas variables, sino las definidas en el verdadero tipo de los objetos que almacenan.
  • 13. Métodos genéricos El polimorfismo es muy útil ya que permite escribir métodos genéricos que puedan recibir parámetros que sean de un determinado tipo o de cualquiera de sus tipos hijos. Es más, en tanto que cómo se verá en el epígrafe siguiente, en C# todos los tipos derivan implícitamente del tipo System. Object, podemos escribir métodos que admitan parámetros de cualquier tipo sin más que definirlos como métodos que tomen parámetros de tipo System.Object.
  • 14. Determinación de tipo. Operador is Dentro de una rutina polimórifica que, como la del ejemplo anterior, admita parámetros que puedan ser de cualquier tipo, muchas veces es conveniente poder consultar en el código de la misma cuál es el tipo en concreto del parámetro que se haya pasado al método en cada llamada al mismo. Para ello C# ofrece el operador is, cuya forma sintaxis de uso es: is Este operador devuelve true en caso de que el resultado de evaluar sea del tipo cuyo nombre es y false en caso contrario8 . Gracias a ellas podemos escribir métodos genéricos que puedan determinar cuál es el tipo que tienen los parámetros que en cada llamada en concreto se les pasen. O sea, métodos como:
  • 17. Encapsulación Ya hemos visto que la herencia y el polimorfismo eran dos de los pilares fundamentales en los que es apoya la programación orientada a objetos. Pues bien, el tercero y último es la encapsulación, que es un mecanismo que permite a los diseñadores de tipos de datos determinar qué miembros de los tipos creen pueden ser utilizados por otros programadores y cuáles no. Las principales ventajas que ello aporta son:
  • 18. FIN