CLASES DERIVADAS:  HERENCIA.  La herencia o relacion es-un es la relacion que existe entre dos clases, en la que una clase denominada se crea a partir.

Slides:



Advertisements
Presentaciones similares
Introducción a C++ Sistemas Operativos
Advertisements

Programación Gráfica 8. Clases y objetos.
Clases en C++.
Herencia en C#.
Creación y destrucción de objetos
PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA
Lenguaje de programación Java
SCJP Sun Certified Programmer for Java 6
Ejemplo de Programa C++
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
LOGROS DEL PERÍODO Utiliza de forma correcta las funciones para entrada y salida de datos en c++. Utiliza los elementos básicos de un programa en c++.
Programación Orientada a Objetos
A partir del lenguaje C Entorno de programación Visual C++
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Tema Función main Elementos básicos del lenguaje.
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Algoritmos y Estructuras de Datos
Estructuras de Datos Cont. C++ y Tipos de Datos. Ejemplo: Vector de Objetos #include class estudiante { private: int aCarne; char aNombre[20]; float aNota;
Algoritmos y Estructuras de Datos Introducción al C++ Herencia.
HERENCIA.
Lenguaje de Programación Java Profesor: Mauricio Martínez P. Análisis y Diseño Orientado a Objetos UML: Lenguaje de Modelamiento Unificado Toma de Requerimientos.
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
Herencia e Interfaces.
Programación Orientada a Objetos usando C++
Lic. Rosemary Torrico Bascopé
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
Introducción a clases Programación Orientada a Objetos.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Unidad I Java y C++ : Similitudes y diferencias
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Jerarquía de Clases: Herencia, Composición y Polimorfismo
Numeric Types, Expressions, and Output
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
Tipo de Datos Básicos.
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
Introducción a la Programación
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
1 Herencia Agustín J. González ELO Motor ElectricMotor Motor y ElectricMotor Consideremos dos clases que tienen algo en común.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González ELO329.
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO326: Seminario II 2do. Sem
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO329.
Sesión 11: Herencia (1) – herencia simple /1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Sesión 12: Herencia (2) – herencia múltiple /1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Sesión 06: Clases y Objetos (2)
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Ejemplos: float R[10] = {2, 32, 4.6, 2, 1, 0.5, 3, 8, 0, 12}; float S[] = {2, 32, 4.6, 2, 1, 0.5, 3, 8, 0, 12}; int N[] = {1, 2, 3, 6}; int M[][3] = {
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend)‏ Agustín J. González ELO329.
Arduino y la Educacion Carlos Solines. Arduino Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de.
Programación estructurada
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
1 Herencia Agustín J. González ELO padre hijo Como en biología, los niños heredan características de su padre Clasificación de Objetos En un intento.
Herencia en C++ Agustín J. González ELO329. Diseño y Programación Orientados a Objetos 2 Motor ElectricMotor Motor y ElectricMotor Consideremos dos clases.
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada HERENCIA Tema: HERENCIA Ing. Javier Chamorro Cerón.
Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Transcripción de la presentación:

CLASES DERIVADAS:  HERENCIA

 La herencia o relacion es-un es la relacion que existe entre dos clases, en la que una clase denominada se crea a partir de otras ya existente, denominada clase base.  La declaracion de la derivacion de clases debe incluir el nombre de la clase base de la que se deriva y especificador de acceso que indica el tipo de herencia(Publica, Privada y Protegida).

class nombre_clase : tipo_herencia nombre_clase_base class Triangulo : public Figura { public: //seccion publica …….. private: //seccion privada …… };

 Considerese una clase Prestamo y tres clases derivadas de ella: Pago_fijo, Pago_variable e Hipoteca.  class Prestamo  {  protected: › float capital; › float tasa_interes; public: Prestamo( float, float); virtual int CrearTablaPagos(float[MAX_TERM][NUM_COLUMNAS])=C; }; Class Hipoteca : public Prestamo { private: int num_recibos; int recibos_por_anyo; float pago; public: Hipoteca(int, int, float, float, float); int CrearTablaPagos(float [MAX_TERN][NUM_COLUMNAS]); };

 Herencia publica: es aquella en que el especificador de acceso es public(publico).  Herencia privada: es aquella en que el especificador de acceso es private(privado).  Herencia protegida: es aquella en que el especificador de acceso es protected(protegido).

#include “fstring.h” class Publicacion { public: void NombrarEditor(const char *s); void PonerFecha(unsigned long fe); private: string editor; unsigned long fecha; }; class Revista : public Publicacion { public: void NumerosPorAnyo(unsigned n); void FijarCirculacion(unsigned long n); private: unsigned numerosPorAnyo; unsigned long circulacion; }; class Libro : public Publicacion { public: void PonerISBN(const char *s); void PonerAutor(const char *s); private: Dstring ISBN; Dstring autor; };

Tipo de herenciaTipo de elemento¿Accesible a clase derivada? Publicpublic protected private Si No Privatepublic protected private Si No

 Significa que una clase derivada tiene acceso a los elementos públicos y protegidos de su clase base.

 Significa que un usuario de la clase derivada no tiene acceso a ninguno de sus elementos de la clase base. El formato es: class ClaseDerivada : private ClaseBase { public: //Sección publica Protected: //Sección privada Private: //sección privada };

 Los miembros públicos y protegidos de la clase base se convierten en miembros protegidos de la clase derivada y los miembros privados de la clase se vuelven inaccesibles.

Tipos de herencia Acceso a miembro base Acceso a miembro a clase derivada public protected private public protected inaccesible privatepublic protected private protected inaccesible privatepublic protected private inaccesible

class Base{ public: int i1; Protected: int i2; Private: int i3; }; class D1 : private Base{ void f(); }; class D2 : protected Base{ void g(); }; Class D3 : public Base{ void h(); }; Void D1::f(){ i1=0;//Correcto i2=0;//Correcto i3=0;//Error }; Base b; b.i1=0;//correcto b.i2=0;//Error b.i3=0;//Error D1 d1; d1.i1=0;//Error d1.i2=0;//Error d1.i3=0;//Error D2 d2; d2.i1=0;//Error d2.i2=0;//Error d2.i3=0;//Error D3 d3; d3.i1=0;//Correcto d3.i2=0;//Error d3.i3=0;//Error

class D4 : protected base{ public: base::i1; }; D4 d4; d4.i1=0;//correcto

class B1{ public: B1(){cout <<“C-B1”<<endl;} }; class B2{ public: B2(){cout <<“C-B1<<endl;} }; class D : public B1, B2{ public: D(){cout <<“C-D”<<endl;} }; D d1; Sintaxis ClaseD::ClaseD(Parametros) : ClaseB(Parametros), ListaMbrD{ //Cuerpo del constructo };

Class Punto{ public: Punto(int xv, int yv); //… }; class Punto3D : public Punto{ public: Punto3D(int xv, int yv, int zv); void fijarz(); private: int z; }; Punto3D::Punto3D(int xv, int yv, int zv) : Punto(xv, yv){ fijarz(zv); };

class C1{ public: C1(int n); ~C1(); private: int *pi, l; }; C1::C1(int n) : l(n){ cout <<l<<“ enteros se asignan”<<endl; } C1::~C1() { cout<<l<<“ enteros son liberados”<<endl; delete []pi; } Class C2 : public C1{ public: C2(int n); ~C2(); private: char *pc; int l; }; C2::C2(int n) :C1(n), l(n){ cout <<l<<“caracteres designados”<<endl; pc=new char[1]; } C2::~C2(){ cout <<l<<“caracteres son liberados”<<endl; delete []pc; } void main() { C2 a(50), b(100); }