Sunteți pe pagina 1din 6

Herencia- abstraccin- interfaz

John Fredy Medina Cifuentes

Programacin I

Presentado a: Ing. Jos Vidal contreras cuervo

Universidad Pedaggica y Tecnolgica de Colombia


Sogamoso
Boyac
2017
Prctica y teora

Herencia-Abstraccin-Interfaz

Herencia

Qu es?
Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento
(mtodos) de otra.
En java, la herencia se especifica agregando la clusula extends despus del nombre de la
clase. En la clusula extends indicaremos el nombre de la clase base de la cul queremos
heredar.
La clase ya existente es llamada superclase, o clase base, o clase padre.
La clase nueva es llamada subclase, clase derivada, o clase hija.

ACCESO PROTEGIDO

Una subclase hereda todos los atributos definidos en la superclase, pero no puede acceder a
los campos privados.
Para permitir que en un mtodo de la subclase se pueda acceder a una caracterstica
(atributo/mtodo) de la superclase, ste tiene que declararse como protected.
Es discutible la visibilidad protegida para los atributos.
Es til la visibilidad protegida para los mtodos.
Protected: caractersticas visibles a las subclases y al resto de clases del paquete.
Private: visible slo en la clase donde se define.
Protected: visible a las subclases y al resto de las clases del paquete.
Public: Visible a todas las clases.

Para qu sirve?
La herencia es el mecanismo que:
Sirve de soporte para registrar y utilizar las relaciones conceptuales existentes entre las
clases.
Posibilita la definicin de una clase a partir de otra
Permite aadir nuevos elementos (atributos o mtodos) o redefinir los elementos existentes.
Organiza las clases en una estructura jerrquica formando jerarquas de clases

CLASES ABSTRACTAS

Una clase abstracta es una clase que no se puede instanciar, se usa nicamente para definir
subclases.
Cundo una clase es abstracta?
En cuanto uno de sus mtodos no tiene implementacin (en java el mtodo abstracto se
etiqueta con la palabra reservada abstract).
Cundo se utilizan las clases abstractas?
Cuando deseamos definir una abstraccin que englobe objetos de distintos tipos y queremos
hacer uso del polimorfismo
Polimorfismo: Es una palabra de origen griego que significa "muchas formas". Este trmino
se utiliza en la POO para "referirse a la propiedad por la que es posible enviar mensajes
sintcticamente iguales a objetos de tipos distintos".
INTERFACES
Una interfaz es una clase completamente abstracta (una clase sin implementacin).
Una interfaz no encapsula datos, solo define cuales son los metodos que han de implementar
los objetos de aquellas clases que implementen la interfaz
El papel del interface es el de describir algunas de las caractersticas de una clase. Por
ejemplo, el hecho de que una persona sea un futbolista no define su personalidad completa,
pero hace que tenga ciertas caractersticas que las distinguen de otras.
Un interface es simplemente una lista de mtodos no implementados, adems puede incluir
la declaracin de constantes.
Una interface es completamente abstracta. Ninguno de sus metodos tiene implementacin
La clase que implementa una interface debe implementar todos sus mtodos
Si la clase que implementa la interface se declara como abstracta no tiene por qu
implementar los metodos de la interface (esto no se suele usar)
Sintaxis para definir una interface: public interface [NombreInterface] { // metodos sin cuerpo }

S-ar putea să vă placă și