SlideShare una empresa de Scribd logo
Módulo I- Introducción a la Programación en
la Plataforma .Net con C#
TEMARIO

CAPITULO IV.- INTRODUCCIÓN A LA
PROGRAMACIÓN ORIENTADA A
OBJECTOS

    La programación Orientada a
     Objetos en C#
INTRODUCCIÓN

Definición de una Clase
Ejemplo Definición Clase
Declaración y Instanciación de
un Objeto:
  Declaración de un Objeto:
     CuentaBancaria ObjCuentaBancaria
  Instanciación de un Objecto:
     CuentaBancaria ObjCuentaBancaria = new
      CuentaBancaria();
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
}
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:
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:
Miembros de una Clase
  Método:Es la implementación de un
  Método:
  algoritmo asociado a un objeto

   Ejemplo:
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
{
}
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)
{
}
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)
{

}
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
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)
}
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.
    }
}
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.
Ámbitos de los Miembros de
una Clase
  Private:Define el miembro de la clase para
  uso privado.
   Ejemplo:
Á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:
Á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:
Á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:
Á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:
Pilares Programación OO
  Abstracción:
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
Pilares Programación OO
  Herencia.
  Sintaxis:




Ejemplo:
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
}
Polimorfismo
Ejemplo:
Interfaces
Ejemplo:

Más contenido relacionado

PPTX
Java certificacion
PPTX
Intro
PDF
Unidad 2 clases y objetos
PDF
Herencia y polimorfismo
PDF
Profesora Asociada Facultad de Ingeniería UTB
DOCX
Herencia y polimorfismo unidad 5 semestre 2
PDF
Semana 4 Introduccion Javascript
DOC
Php orientado a_objetos
Java certificacion
Intro
Unidad 2 clases y objetos
Herencia y polimorfismo
Profesora Asociada Facultad de Ingeniería UTB
Herencia y polimorfismo unidad 5 semestre 2
Semana 4 Introduccion Javascript
Php orientado a_objetos

La actualidad más candente (20)

PPT
Polimorfismo en Java
PPTX
Programacion Orientada a Objetos - Unidad 2 clases y objetos
PDF
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
PPT
programacion orientada a objetos en visual basic net
PDF
Semana 5 Java Swing
PPT
Clase 2 Poo
PDF
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
PPT
Poo
PPTX
Lenguaje javascript
PDF
PROGRAMACIÓN ORIENTADA A OBJETOS
PPT
PDF
Programación orientada a objetos con c++ prev
PDF
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
PDF
Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...
PDF
Semana 1 Estructuras de Datos en Java
PDF
Programación 3: Clases y objetos en Java
PPT
Intro classes(1)
PDF
10. programacion orientada a objetos en visual basic .net
PDF
Semana 1 Estructuras de Control en Java
Polimorfismo en Java
Programacion Orientada a Objetos - Unidad 2 clases y objetos
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
programacion orientada a objetos en visual basic net
Semana 5 Java Swing
Clase 2 Poo
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
Poo
Lenguaje javascript
PROGRAMACIÓN ORIENTADA A OBJETOS
Programación orientada a objetos con c++ prev
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...
Semana 1 Estructuras de Datos en Java
Programación 3: Clases y objetos en Java
Intro classes(1)
10. programacion orientada a objetos en visual basic .net
Semana 1 Estructuras de Control en Java
Publicidad

Destacado (7)

PPTX
Sintaxis de lenguaje de programacion
DOCX
Entornos De Desarrollo Integrados
 
PDF
2.1 Lenguaje de Programación C y su Entorno
PDF
11 Curso de POO en java - métodos constructores y toString()
PPTX
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
PPT
Desarrollo de Software Orienta a Objetos
PPTX
Programacion Orientada a Objetos
Sintaxis de lenguaje de programacion
Entornos De Desarrollo Integrados
 
2.1 Lenguaje de Programación C y su Entorno
11 Curso de POO en java - métodos constructores y toString()
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
Desarrollo de Software Orienta a Objetos
Programacion Orientada a Objetos
Publicidad

Similar a 10 sintaxis oo (20)

PPT
10-programacion-orientada-a-objetos.ppt
PPT
Net1 oop vbnet
PDF
zines.esp.v12.pdf
DOCX
Manual de c#
DOCX
manual de C#
DOCX
Manual c# 2
PPTX
Programacion
PPTX
Presentacion de clases en c#
PPTX
Conceptos de POO (Programacion Orientada a Objetos)
PDF
Clase numero 6
PPTX
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
PPT
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
PPTX
PPTX
PDF
Herencia clase
PPT
programacion orientada a objetos
10-programacion-orientada-a-objetos.ppt
Net1 oop vbnet
zines.esp.v12.pdf
Manual de c#
manual de C#
Manual c# 2
Programacion
Presentacion de clases en c#
Conceptos de POO (Programacion Orientada a Objetos)
Clase numero 6
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Herencia clase
programacion orientada a objetos

Más de Claribel Eusebio Nolasco (8)

PPT
9 fundamentos de oo
PPT
7 manejo de archivos
PPT
PPT
5 metodos y parametros
PPT
4 variables, arreglos, estructuras y enum
PPT
3 condicionales y ciclos
PPT
1 introduccion microsoft .net
PPT
8 introduccion colecciones
9 fundamentos de oo
7 manejo de archivos
5 metodos y parametros
4 variables, arreglos, estructuras y enum
3 condicionales y ciclos
1 introduccion microsoft .net
8 introduccion colecciones

Último (20)

PDF
taller de informática - LEY DE OHM
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
clase auditoria informatica 2025.........
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
Diapositiva proyecto de vida, materia catedra
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PPT
Que son las redes de computadores y sus partes
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
Presentación de Redes de Datos modelo osi
taller de informática - LEY DE OHM
Sesion 1 de microsoft power point - Clase 1
Plantilla para Diseño de Narrativas Transmedia.pdf
Calidad desde el Docente y la mejora continua .pdf
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
SAP Transportation Management para LSP, TM140 Col18
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Estrategia de apoyo tecnología miguel angel solis
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Propuesta BKP servidores con Acronis1.pptx
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
clase auditoria informatica 2025.........
Presentación PASANTIAS AuditorioOO..pptx
Diapositiva proyecto de vida, materia catedra
historia_web de la creacion de un navegador_presentacion.pptx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Que son las redes de computadores y sus partes
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Presentación de Redes de Datos modelo osi

10 sintaxis oo

  • 1. Módulo I- Introducción a la Programación en la Plataforma .Net con C#
  • 2. TEMARIO CAPITULO IV.- INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJECTOS  La programación Orientada a Objetos en C#
  • 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:
  • 22. Pilares Programación OO Abstracción:
  • 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
  • 24. Pilares Programación OO Herencia. Sintaxis: Ejemplo:
  • 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 }

Notas del editor

  • #14: 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.
  • #15: Module 8: Inheriting from Classes and Implementing Interfaces Course 10266A
  • #16: Module 8: Inheriting from Classes and Implementing Interfaces Course 10266A
  • #17: Module 8: Inheriting from Classes and Implementing Interfaces Course 10266A
  • #26: Dos palabras clave que afectan la “habilidad” de heredar desde una clase base.