SlideShare una empresa de Scribd logo
1 de 11
Clases y Objetos
Un 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 de 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
Adanis Tiburcio
15-6038
Sintaxis
• La sintaxis básica para definir una clase es la que a continuación se
muestra:
class <nombreClase>
{
<miembros>
}
Adanis Tiburcio
15-6038
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>;
Para acceder a un campo de un determinado objeto se usa la sintaxis:
<objeto>.<campo>
Adanis Tiburcio
15-6038
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.
:La sintaxis que se usa en C# para definir los métodos es la siguiente:
<tipoDevuelto> <nombreMétodo> (<parametros>)
{
<instrucciones>
}
Adanis Tiburcio
15-6038
Operador New
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.
new <nombreTipo>(<parametros>)
Adanis Tiburcio
15-6038
Referencia This
Dentro del código de cualquier método de un objeto siempre es posible
hacer referencia al propio objeto usando la palabra reservada this.
Es decir, dentro de un método con parámetros cuyos nombres coincidan con
campos, se da preferencia a los parámetros y para hacer referencia a los
campos hay que prefijarlos con el this tal y como se muestra en el ejemplo.
Adanis Tiburcio
15-6038
Concepto de herencia
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 ésta deriva de otra,
entonces la primera -a la que se le suele llamar clase hija- será tratada por el
compilador automáticamente como si su definición incluyese la definición de la
segunda –a la que se le suele llamar clase padre o clase base. Su sintaxis es:
class <nombreHija>:<nombrePadre>
{
<miembrosHija>
}
Adanis Tiburcio
15-6038
Métodos virtuales
Lo que ahora vamos a ver es que además es posible cambiar dichar definición en la
clase hija, para lo que habría que haber precedido con la palabra reservada virtual la
definición de dicho método en la clase padre. A este tipo de métodos se les llama
métodos virtuales, y la sintaxis que se usa para definirlos es la siguiente:
virtual <tipoDevuelto> <nombreMétodo>(<parámetros>)
{
<código>
}
Adanis Tiburcio
15-6038
Clases abstractas
Una clase abstracta es aquella que forzosamente se ha de derivar si se desea que
se puedan crear objetos de la misma o acceder a sus miembros estáticos (esto
último se verá más adelante en este mismo tema) Para definir una clase
abstracta se antepone abstract a su definición, como se muestra en el siguiente
ejemplo:
public abstract class A {
public abstract void F(); }
abstract public class B: A {
public void G() {} }
class C: B {
public override void F() {}
}
Adanis Tiburcio
15-6038
Gracias
Adanis Tiburcio
15-6038

Más contenido relacionado

La actualidad más candente

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
 
Clases y subclases
Clases y subclasesClases y subclases
Clases y subclasesmartaferrari
 
Constructores con el parámetro this
Constructores con el parámetro thisConstructores con el parámetro this
Constructores con el parámetro thisDarwin Chungandro
 
Definicion De Subclases Y Herencia H F M
Definicion De Subclases Y Herencia  H F MDefinicion De Subclases Y Herencia  H F M
Definicion De Subclases Y Herencia H F Mangel_toledo
 
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
 
Arreglos en java v01
Arreglos en java v01Arreglos en java v01
Arreglos en java v01Emerson Garay
 
Tarea 5
Tarea 5Tarea 5
Tarea 5ar qb
 
Capitulo1pp
Capitulo1ppCapitulo1pp
Capitulo1ppDavid
 
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
 
Clase 10_ programacion
Clase 10_ programacionClase 10_ programacion
Clase 10_ programaciondiego MC
 
Vectores, array y sus métodos
Vectores, array y sus métodosVectores, array y sus métodos
Vectores, array y sus métodosOrlando Verdugo
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Javazousbabastre
 
Programación de nivel básico 3. c1. p3.
Programación de nivel básico 3. c1. p3.Programación de nivel básico 3. c1. p3.
Programación de nivel básico 3. c1. p3.DENIRAMIREZANDRADE
 

La actualidad más candente (20)

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
 
Clases y subclases
Clases y subclasesClases y subclases
Clases y subclases
 
Array en java
Array en javaArray en java
Array en java
 
Constructores con el parámetro this
Constructores con el parámetro thisConstructores con el parámetro this
Constructores con el parámetro this
 
Definicion De Subclases Y Herencia H F M
Definicion De Subclases Y Herencia  H F MDefinicion De Subclases Y Herencia  H F M
Definicion De Subclases Y Herencia H F M
 
Arreglos en Java
Arreglos en JavaArreglos en Java
Arreglos en Java
 
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()
 
Arreglos en java v01
Arreglos en java v01Arreglos en java v01
Arreglos en java v01
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Arreglos Java (arrays)
Arreglos Java (arrays)Arreglos Java (arrays)
Arreglos Java (arrays)
 
Capitulo1pp
Capitulo1ppCapitulo1pp
Capitulo1pp
 
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++
 
Arreglos
ArreglosArreglos
Arreglos
 
Clase 10_ programacion
Clase 10_ programacionClase 10_ programacion
Clase 10_ programacion
 
Vectores, array y sus métodos
Vectores, array y sus métodosVectores, array y sus métodos
Vectores, array y sus métodos
 
Implementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en TextoImplementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en Texto
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Java
 
I4 u2 tema3
I4 u2 tema3I4 u2 tema3
I4 u2 tema3
 
Vectores
VectoresVectores
Vectores
 
Programación de nivel básico 3. c1. p3.
Programación de nivel básico 3. c1. p3.Programación de nivel básico 3. c1. p3.
Programación de nivel básico 3. c1. p3.
 

Similar a Presentación Tema 5, Libro Programación C# (20)

Programacion
ProgramacionProgramacion
Programacion
 
Leguaje de programacion C#
Leguaje de programacion C#Leguaje de programacion C#
Leguaje de programacion C#
 
Datos previos
Datos previosDatos previos
Datos previos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
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
 
Php orientado a_objetos
Php orientado a_objetosPhp orientado a_objetos
Php orientado a_objetos
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
 
Guia poo
Guia pooGuia poo
Guia poo
 
Clases
ClasesClases
Clases
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Guia poo
Guia pooGuia poo
Guia poo
 
Clase
ClaseClase
Clase
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Tarea v de programacion ii
Tarea v de programacion iiTarea v de programacion ii
Tarea v de programacion ii
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
 
8. técnicas de escritura de códigos
8. técnicas de escritura de códigos8. técnicas de escritura de códigos
8. técnicas de escritura de códigos
 
La palabra reservada this y los métodos "getters" y "setters"
La palabra reservada this y los métodos "getters" y "setters"La palabra reservada this y los métodos "getters" y "setters"
La palabra reservada this y los métodos "getters" y "setters"
 
Lab herencia
Lab herenciaLab herencia
Lab herencia
 
Curso netcsharp
Curso netcsharpCurso netcsharp
Curso netcsharp
 

Presentación Tema 5, Libro Programación C#

  • 1.
  • 2. Clases y Objetos Un 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 de 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 Adanis Tiburcio 15-6038
  • 3. Sintaxis • La sintaxis básica para definir una clase es la que a continuación se muestra: class <nombreClase> { <miembros> } Adanis Tiburcio 15-6038
  • 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 <miembros> en la definición de la misma: <tipoCampo> <nombreCampo>; Para acceder a un campo de un determinado objeto se usa la sintaxis: <objeto>.<campo> Adanis Tiburcio 15-6038
  • 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. :La sintaxis que se usa en C# para definir los métodos es la siguiente: <tipoDevuelto> <nombreMétodo> (<parametros>) { <instrucciones> } Adanis Tiburcio 15-6038
  • 6. Operador New 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. new <nombreTipo>(<parametros>) Adanis Tiburcio 15-6038
  • 7. Referencia This Dentro del código de cualquier método de un objeto siempre es posible hacer referencia al propio objeto usando la palabra reservada this. Es decir, dentro de un método con parámetros cuyos nombres coincidan con campos, se da preferencia a los parámetros y para hacer referencia a los campos hay que prefijarlos con el this tal y como se muestra en el ejemplo. Adanis Tiburcio 15-6038
  • 8. Concepto de herencia 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 ésta deriva de otra, entonces la primera -a la que se le suele llamar clase hija- será tratada por el compilador automáticamente como si su definición incluyese la definición de la segunda –a la que se le suele llamar clase padre o clase base. Su sintaxis es: class <nombreHija>:<nombrePadre> { <miembrosHija> } Adanis Tiburcio 15-6038
  • 9. Métodos virtuales Lo que ahora vamos a ver es que además es posible cambiar dichar definición en la clase hija, para lo que habría que haber precedido con la palabra reservada virtual la definición de dicho método en la clase padre. A este tipo de métodos se les llama métodos virtuales, y la sintaxis que se usa para definirlos es la siguiente: virtual <tipoDevuelto> <nombreMétodo>(<parámetros>) { <código> } Adanis Tiburcio 15-6038
  • 10. Clases abstractas Una clase abstracta es aquella que forzosamente se ha de derivar si se desea que se puedan crear objetos de la misma o acceder a sus miembros estáticos (esto último se verá más adelante en este mismo tema) Para definir una clase abstracta se antepone abstract a su definición, como se muestra en el siguiente ejemplo: public abstract class A { public abstract void F(); } abstract public class B: A { public void G() {} } class C: B { public override void F() {} } Adanis Tiburcio 15-6038