Programación Orientada a Objetos: Interfaces y Clases Internas, Slides of Computer science

Una introducción a las interfaces y clases internas en la programación orientada a objetos. Se define el concepto de interfaz, su implementación, las diferencias entre clases concretas, abstractas e interfaces, y se proporciona un ejercicio práctico sobre interfaces. Además, se explica el concepto de clases internas, incluyendo los diferentes tipos (estáticas, miembro, locales y anónimas), y se aborda el tema del autoboxing y unboxing. El documento está dirigido a estudiantes de ingeniería de computación y sistemas, y proporciona los conocimientos necesarios para comprender y aplicar estos conceptos fundamentales de la programación orientada a objetos.

Typology: Slides

2020/2021

Uploaded on 08/26/2024

noro-car
noro-car 🇺🇸

12 documents

1 / 24

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Programación Orientada a
Objetos
Sesión07
Interfaces y Clases Internas
Escuela de Ingeniería de Computación y Sistemas
Ms. Freddy Infantes Quiroz
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Partial preview of the text

Download Programación Orientada a Objetos: Interfaces y Clases Internas and more Slides Computer science in PDF only on Docsity!

Programación Orientada a

Objetos

Sesión

Interfaces y Clases Internas

Escuela de Ingeniería de Computación y Sistemas Ms. Freddy Infantes Quiroz [email protected]

Agenda

  • Definición de Interface.
  • Implementación de una interface.
  • Diferencias entre clases concretas, clases abstractas e interfaces.
  • Ejercicio sobre interface.
  • Clases Internas
  • Autoboxing y Unboxing

Interface

  • Una Interface es un conjunto de métodos declarados sin implementación (métodos abstractos) y declaración de constantes, agrupadas bajo un nombre.
  • Una Interface es una Clase completamente abstracta.(Sin implementación)
  • Para crear una interface, se utiliza la palabra clave interface en lugar de class.
  • La interface puede definirse public o sin modificador de acceso, y tiene el mismo significado que para las clases.
  • Las interfaces definen un tipo de dato, por lo tanto es posible declarar variables con el nombre de la interface.

Implementación de una Interface

Una Interface declara métodos y también pueden existir constantes que trabajan de la siguiente forma:

  • Constantes: Pueden ser public, static y final , y siempre deben de inicializarse.
  • Métodos:
    • Los métodos deben ser declarados y no implementados.
    • Pueden ser public y abstract. Nota: “Una interface no encapsula datos, sólo define cuáles son los métodos que han de implementar los objetos de aquellas clases que implementen la interface”.

Clase que implementa una Interface

  • Una clase que implementa una interface se estructura de la sgte manera:
  • Una clase NO puede heredar de 2 o más clases abstractas , pero si puede heredar de una clase abstracta y de varias interfaces [public] class nombClase implements interface { //Cuerpo de la Clase. } [public] class nombClase [ extends SuperClase] implements interface, [interface1, interface2] { //Cuerpo de la Clase. }

Diferencias entre Clases

  • Diferencias entre Clases Concretas, Clases Abstractas e Interfaces:

Ejemplo de Clase: Interface

**Perro

  • sonido(): String
  • desplazar(): String Gato
  • sonido(): String
  • desplazar(): String Animal
  • sonido(): String
  • desplazar(): String** Interface

Solución: Ejercicio Interface

Solución: Herencia Múltiple

Solución: Herencia Múltiple

Clase Interna Estática (anidada)

  • Las clases internas pueden declararse static , comúnmente denominadas clases anidadas.
  • Las clases anidadas no tienen acceso a la referencia implícita.
  • Utilización: ClaseContenedora.ClaseInterna
    • Ejemplo: Externa.Interna

Clase Interna Estática (anidada)

Clase Interna Miembro

Clase Interna Local

  • Esta declarada dentro del bloque de código de un método.
  • Todos los parámetros finales (constantes) declarados en el bloque son accesibles por los métodos de la clase interna.