Categorias: Todos - código - java - reutilización - herencia

por edward gutierrez 4 anos atrás

406

Herencia

La herencia en programación orientada a objetos permite que una clase base transmita sus propiedades y métodos a clases derivadas. Existen diferentes tipos de herencia, como la privada, pública y protegida, cada una con sus propias reglas de acceso.

Herencia

Herencia

A microorganism is an organism so small that people cannot see them with the naked eye.

Microorganisms can be harmful and useful organisms.

Control de Acceso

Tipos de Herencia

Todos los miembros públicos y protegidos de la clase base adquieren el nivel de acceso privado en las clases derivadas. De ahí se desprende que una clase derivada que haya heredado mediante herencia privada no puede heredar a otras clases los miembros que ha heredado de otras clases.
Todos los miembros públicos de la clase base adquieren el nivel de acceso protegido en las clases derivadas, mientras que los miembros protegidos conservan su nivel de acceso
Herencia pública
Todos los miembros públicos y protegidos de la clase base conservan esos mismos niveles de acceso respectivamente en las clases derivadas.

Java

Harmful microorganisms include fungi, bacteria, protozoa, etc.

They cause several diseases in human beings, animals, and plants, which can even lead to death.

The harmful microorganisms not only can damage the human body, but also the food we eat.

What diseases can they cause?

class Triangulo extends DosDimensiones{ String estilo; double area(){ return base*altura/2; //Error! no se puede acceder } void mostrarEstilo(){ System.out.println("Triangulo es: "+estilo); } }

class DosDimensiones{ private double base; private double altura; void mostrarDimension(){ System.out.println("La base y altura es: "+base+" y "+altura); } }

Give examples of how the spread of harmful organisms can be prevented.

Expresión

Give examples of how harmful organisms can spread.

protected class ClaseB extends ClaseA

private class ClaseB extends ClaseA

public class ClaseB extends ClaseA

Para indicar que la clase B (clase derivada) hereda de la clase A (clase base) se emplea la palabra reservada extends en la cabecera de la declaración de la clase descendiente

Definicion

Reutilización:
Cuando queremos crear una clase nueva y ya hay una clase que incluye parte del código que queremos, podemos derivar nuestra nueva clase de la clase existente. Al hacer esto, estamos reutilizando los campos/atributos y métodos de la clase existente.
Una clase que se implementa mediante la reutilización de las propiedades y funcionalidades que se heredan de una (o varias) clase base.
Clase Base
Una clase que va a heredar sus propiedades (variables) y funcionalidades (métodos) a otras clases
Permite la reusabilidad de variables y funcionalidades que se han definido en otras clases.

C++

There are five types of microorganisms. Out of these five, four can be free-living or parasitic.

There is one that can be only parasitic since it always reproduces inside other living things.

After enumerating them, click on the flags below to mark the ones which can be free-living and the ones that cannot.

can be free-living

only parasitic

Ejemplo
Clase Derivada

class Cuadrado: public Figura { public: Cuadrado(float lado){ x = lado; } float Perimetro(){ return 4 * x; } float Area(){ return x * x; } };

Clase Padre

class Figura{ protected: float x; public: Figura(float cx=0){ x = cx; } virtual float Perimetro() = 0; virtual float Area() = 0; };

Codigo
Los constructores no se heredan
Expresion
Herencia protegida

class ClaseDerivada : protected ClaseBase

Herencia privada

class ClaseDerivada : private ClaseBase

Herencia publica

class ClaseDerivada : public ClaseBase

Se expresa en la implementación de una clase mediante el uso del operador dos puntos : seguido del tipo de herencia y del nombre de la clase base de la que se busca heredar.