5. Declaración y Instanciación de
un Objeto:
Declaración de un Objeto:
CuentaBancaria ObjCuentaBancaria
Instanciación de un Objecto:
CuentaBancaria ObjCuentaBancaria = new
CuentaBancaria();
6. Constructores
Constructor: métodos dentro de la clase que
son llamados automáticamente cuando se
crea una instancia de dicha clase.
En C# tienen el mismo nombre de la clase
class CtaCte
{
public CtaCte(){...} //Const. por default
public CtaCte(int i){...} //Const. con un parámetro
}
7. Miembros de una Clase
Campos: Un campo es una característica de
un objeto, que ayuda a definir su estructura y
permite diferenciarlo de otros objetos
Sintaxis general:
Ejemplo:
8. Miembros de una Clase
Propiedad:Una propiedad o atributo es un
Propiedad:
contenedor de un tipo de datos asociado a
un objeto.
Sintaxis general:
Ejemplo:
9. Miembros de una Clase
Método:Es la implementación de un
Método:
algoritmo asociado a un objeto
Ejemplo:
10. Métodos
Métodos: acciones que un objeto puede llevar a
cabo.
En C# todo método es una función
public void HacerDeposito(int importe) //No devuelve valor
{
}
public int ObtenerInventario(int codArticulo) //Devuelve un entero
{
}
11. Sobrecarga de Métodos
Sobrecarga: varios métodos con el mismo nombre
pero diferente “firma”.
public void HacerDeposito(int importe)
{
}
public void HacerDeposito(int importe, bool acreditar)
{
}
12. Métodos estáticos
Miembros que no requieren de una instancia para
ser invocados. Se los llama métodos “de clase”
public static void HacerDeposito(int importe)
{
}
13. Propiedades
Propiedad: característica o atributo de un objeto
class CtaCte
{
int balance;
public int Balance
{
get
{
return balance;
}
set
{
balance = value;
}
}
}
CtaCte cc = new CtaCte();
cc.Balance = 100; //Asignación
Mostrar(cc.Balance); //Obtención
14. Sobrescribiendo y ocultado métodos
class Employee
{
protected virtual void
Sobrescribiendo: Remplazando o
DoWork()
extendiendo funcionalidad de la clase { ... }
}
padre.
class Manager : Employee
{
protected override
class Employee void
{ DoWork()
protected void { ... }
DoWork() }
{ ... }
}
class Manager : Employee Ocultado: Remplazando funcionalidad en la
{
public new void clase padre con nuevo comportamiento.
DoWork()
{ ... } (posiblemente un error)
}
15. Invocando métodos y constructores de la clase
base
class Employee
Uso de base {
protected virtual void
class Employee DoWork()
{ { ... }
protected string }
empName;
public Employee(string class Manager : Employee
name) {
{ this.empName = name; protected override void
}
} DoWork()
{
class Manager : Employee ...
{ base.DoWork();
protected string }
empGrade; }
public Manager(string
name,
string
grade) Constructores Automáticamente se llama el
: base(name)
{ constructor por defecto a menos que se
this.empGrade =
grade; especifique.
}
}
16. Asignando referencias en una jerarquía de
clases
C# no permite asignar una referencia a una Manager myManager = new
Manager(…);
variable de un tipo de dato a una variable de ManualWorker myWorker =
myManager;
otro tipo de dato.
Manager myManager = new
… pero se puede asignar una referencia sobre Manager(…);
Employee myEmployee =
un tipo mayor en la jerarquía. myManager;
Se puede utilizar el operador is para asignar Manager myManagerAgain =
una referencia a una variable de menor myEmployee as
Manager;
jerarquía.
17. Ámbitos de los Miembros de
una Clase
Private:Define el miembro de la clase para
uso privado.
Ejemplo:
18. Ámbitos de los Miembros de
una Clase
Protected: Los elementos declarados como
protegidos sólo estarán accesibles, además
de en la propia clase, por cualquier clase
derivada.
Ejemplo:
19. Ámbitos de los Miembros de
una Clase
Internal: Cuando declaramos un miembro con
este modificador, solo podremos acceder a él
desde la propia clase o desde cualquier
código que se encuentre en el mismo
ensamblado.
Ejemplo:
20. Ámbitos de los Miembros de
una Clase
Protected Internal:Es una mezcla de
Protected y Internal, es decir solo accesible
desde las clases derivadas o desde el mismo
proyecto.
Ejemplo:
21. Ámbitos de los Miembros de
una Clase
Public: Este modificador de ámbito nos
permite exponer públicamente cualquier
miembro de la clase, de forma que no haya
restricciones para acceder a él.
Ejemplo:
23. Pilares Programación OO
Encapsulación.
Ej: El siguiente es un ejemplo claro de encapsulación. La
propiedad CodigoCliente tiene una validación que no
permite que sólo escribir en el campo _CodigoCliente si el
nuevo valor es mayor que cero
25. Pilares Programación OO
public sealed class Cuenta{
//No se puede heredar de esta clase “sellada”
}
public abstract class Cuenta{
//No se pueden crear instancias de esta clase, sólo
//de sus derivadas
}
Las propiedades permiten implementar el encapsulamiento, impidiendo el acceso directo a los atributos de una clase y proporcionando un mecanismo para poder obtener y asignar sus valores. Nótese que como VB.NET no distingue entre mayúsculas y minúsculas no es posible utilizar para el miembro de la clase el mismo nombre que para la Propiedad. Sin embargo, es importante que ambos tengan nombres significativos para la lógica de la aplicación. No se recomienda el agregado de prefijos o sufijos a los nombres.
Module 8: Inheriting from Classes and Implementing Interfaces Course 10266A
Module 8: Inheriting from Classes and Implementing Interfaces Course 10266A
Module 8: Inheriting from Classes and Implementing Interfaces Course 10266A
Dos palabras clave que afectan la “habilidad” de heredar desde una clase base.