SlideShare una empresa de Scribd logo
1 de 27
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

La actualidad más candente

Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Javaricardomore94
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosJosé Antonio Sandoval Acosta
 
programacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netprogramacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netpp mm
 
Lenguaje javascript
Lenguaje javascriptLenguaje javascript
Lenguaje javascriptXoch Flores
 
Programación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevProgramación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevjtk1
 
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...David Zapateria Besteiro
 
Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...
Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...
Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...David Zapateria Besteiro
 
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
 
Intro classes(1)
Intro classes(1)Intro classes(1)
Intro classes(1)claudiocj7
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .netjohnny herrera
 

La actualidad más candente (20)

Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASEJAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
 
programacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netprogramacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic net
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
Clase 2 Poo
Clase 2 PooClase 2 Poo
Clase 2 Poo
 
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓNJAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
 
Poo
PooPoo
Poo
 
Lenguaje javascript
Lenguaje javascriptLenguaje javascript
Lenguaje javascript
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Java
JavaJava
Java
 
Programación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevProgramación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prev
 
C sharp intro1
C sharp intro1C sharp intro1
C sharp intro1
 
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
 
Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...
Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...
Javascript Módulo 5 - Bucles, Arrays. Funciones como objectos. Ámbitos. Cierr...
 
Semana 1 Estructuras de Datos en Java
Semana 1   Estructuras de Datos en JavaSemana 1   Estructuras de Datos en Java
Semana 1 Estructuras de Datos en Java
 
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
 
Intro classes(1)
Intro classes(1)Intro classes(1)
Intro classes(1)
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .net
 
Semana 1 Estructuras de Control en Java
Semana 1   Estructuras de Control en JavaSemana 1   Estructuras de Control en Java
Semana 1 Estructuras de Control en Java
 

Destacado

Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionluismart05
 
Entornos De Desarrollo Integrados
Entornos De Desarrollo IntegradosEntornos De Desarrollo Integrados
Entornos De Desarrollo IntegradosUGM
 
2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su EntornoMeztli Valeriano Orozco
 
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
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSJonathan Hidalgo Nolasco
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDat@center S.A
 

Destacado (7)

Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
 
Entornos De Desarrollo Integrados
Entornos De Desarrollo IntegradosEntornos De Desarrollo Integrados
Entornos De Desarrollo Integrados
 
2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno
 
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()
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 

Similar a 10 sintaxis oo (20)

El lenguaje C++ (1).ppt
El lenguaje C++ (1).pptEl lenguaje C++ (1).ppt
El lenguaje C++ (1).ppt
 
El lenguaje C++.ppt
El lenguaje C++.pptEl lenguaje C++.ppt
El lenguaje C++.ppt
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetos
 
Herencia clase
Herencia claseHerencia clase
Herencia clase
 
Definición de clases en POO
Definición de clases en POODefinición de clases en POO
Definición de clases en POO
 
9.herencia en java
9.herencia en java9.herencia en java
9.herencia en java
 
1 -programacion_oo
1  -programacion_oo1  -programacion_oo
1 -programacion_oo
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Java OO - Tema 06 - Interfaces
Java OO - Tema 06 -  InterfacesJava OO - Tema 06 -  Interfaces
Java OO - Tema 06 - Interfaces
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
Cplus
CplusCplus
Cplus
 
C++
C++C++
C++
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Clase 2 poo java
Clase 2 poo javaClase 2 poo java
Clase 2 poo java
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)
 
Tema2
Tema2Tema2
Tema2
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 

Más de Claribel Eusebio Nolasco (8)

9 fundamentos de oo
9 fundamentos de oo9 fundamentos de oo
9 fundamentos de oo
 
7 manejo de archivos
7 manejo de archivos7 manejo de archivos
7 manejo de archivos
 
6 excepciones
6 excepciones6 excepciones
6 excepciones
 
5 metodos y parametros
5 metodos y parametros5 metodos y parametros
5 metodos y parametros
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
3 condicionales y ciclos
3 condicionales y ciclos3 condicionales y ciclos
3 condicionales y ciclos
 
1 introduccion microsoft .net
1 introduccion microsoft .net1 introduccion microsoft .net
1 introduccion microsoft .net
 
8 introduccion colecciones
8 introduccion colecciones8 introduccion colecciones
8 introduccion colecciones
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Último (13)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

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

  1. 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.
  2. Module 8: Inheriting from Classes and Implementing Interfaces Course 10266A
  3. Module 8: Inheriting from Classes and Implementing Interfaces Course 10266A
  4. Module 8: Inheriting from Classes and Implementing Interfaces Course 10266A
  5. Dos palabras clave que afectan la “habilidad” de heredar desde una clase base.