La programación orientada a objetos (OOP) es un paradigma común en el desarrollo de software. Ayuda a llevar escenarios del mundo real a la programación mediante clases y objetos. Una clase es un plano para crear un objeto. El programador puede crear una clase con propiedades y métodos. Un alumno y un maestro son objetos. Crear un objeto se conoce como instanciación. OOP también utiliza interfaces. Las interfaces y la clase pueden parecer similares, pero tienen una diferencia. Este artículo discute la diferencia entre una clase y una interfaz. los diferencia clave entre una clase y una interfaz es que una clase es un tipo de referencia que es un modelo para crear una instancia de un objeto, mientras que la interfaz es un tipo de referencia que no se puede utilizar para crear una instancia de un objeto.
1. Resumen y diferencia clave
2. Que es la clase
3. ¿Qué es la interfaz?
4. Similitudes entre clase e interfaz
5. Comparación lado a lado - Clase vs interfaz en forma tabular
6. Resumen
En OOP, todo es considerado como un objeto. No es posible crear un objeto sin una clase. Una clase es un plano para crear un objeto. Al construir una casa, el arquitecto dibuja el plano. El plan es similar a una clase. La casa es similar al objeto. La clase es el plan para construir un objeto. Un objeto es lo que se crea utilizando la clase..
La clase contiene las propiedades y métodos. Un estudiante puede tener propiedades tales como nombre, grado, número de índice. Un alumno puede tener métodos como leer, caminar, estudiar. Se crea una clase con las propiedades y métodos necesarios..
La sintaxis para crear una clase en muchos lenguajes de programación es la siguiente. Se crea utilizando la clase de palabra clave.
clase nombre_clase
// propiedades
// métodos
Los lenguajes de programación como C # y Java siguen una sintaxis similar para crear un objeto usando una clase. Supongamos que el nombre de la clase es Estudiante.
Estudiante s1 = nuevo Estudiante ();
Este s1 es el objeto. La palabra clave "nuevo" se utiliza para asignar memoria a las propiedades. Una clase también tiene un constructor para inicializar propiedades o variables.
Los miembros de la clase tales como propiedades y métodos tienen modificadores de acceso. Los especificadores de acceso describen la accesibilidad y visibilidad de esos miembros a otras clases. Los miembros de la clase pueden tener especificadores de acceso tales como público, privado y protegido. Los miembros públicos son accesibles por otras clases. Los miembros privados solo son accesibles a la clase. Los miembros protegidos son accesibles dentro de la clase y subclases relevantes.
La abstracción es un pilar de la programación orientada a objetos. Es para ocultar los detalles de la implementación y mostrar la funcionalidad al usuario. La abstracción se logra utilizando clases abstractas e interfaces. Un método abstracto no tiene una implementación. Una clase que contiene al menos un método abstracto se llama una clase abstracta.
Cuando hay dos clases abstractas, los métodos declarados en esas clases deben implementarse. Se utiliza una nueva clase para implementar esos métodos. Si ambas clases tuvieran el mismo método, podría causar un problema de ambigüedad. Por lo tanto, los lenguajes de programación como Java y C # tienen una interfaz.
Las interfaces contienen únicamente la declaración de métodos. No hay método de implementación. Además, las interfaces no se pueden utilizar para crear objetos. Se utilizan para soportar múltiples herencias y para asegurar el código..
La sintaxis de la interfaz es la siguiente. Interfaz usa la palabra clave “interfaz”.
interfaz nombre_interfaz
tipo method1 (lista_parámetro);
tipo method2 (lista_parámetro);
Según lo anterior, las interfaces solo tienen la declaración. No hay definición. Por lo tanto, las interfaces no pueden instanciar objetos. Solo da una visión abstracta de lo que es la interfaz. Los métodos declarados en la interfaz pueden ser implementados por una o varias clases. Una clase usa la palabra clave "implementar" para implementar una interfaz. Consulte el siguiente ejemplo escrito usando Java.
Figura 01: Programa utilizando interfaces
De acuerdo con el programa anterior, A y B son interfaces. La interfaz A tiene una declaración de método que es la suma (). La interfaz B tiene una declaración de método sub (). La clase C está implementando ambas interfaces, que son A y B. Por lo tanto, la clase C define los métodos sum () y sub (). Después de crear el objeto de tipo C, es posible llamar a ambos métodos sum () y sub ().
Los métodos declarados dentro de la interfaz siempre deben ser públicos porque las clases de implementación los definen. Una interfaz también puede heredar de otra interfaz.
Clase vs Interfaz | |
Una clase es un tipo de referencia que es un plano para crear un objeto. | Una interfaz es un tipo de referencia que no puede ser instanciada. |
Instanciación de objetos | |
Se utiliza una clase para instanciar un objeto.. | No se puede crear una instancia de una interfaz porque los métodos no pueden realizar ninguna acción. |
Constructor | |
Una clase contiene un constructor, para inicializar las variables.. | Una interfaz no contiene un constructor porque apenas son variables para inicializar. |
Palabra clave | |
Una clase usa la palabra clave "clase". | Una interfaz utiliza la palabra clave "interfaz". |
Especificador de acceso | |
Los miembros de la clase pueden ser privados, públicos y protegidos.. | Los miembros de la interfaz deben ser siempre públicos porque las clases implementadoras los definen. |
Las clases y las interfaces son ampliamente utilizadas en la programación orientada a objetos. La diferencia entre una clase y una interfaz es que una clase es un tipo de referencia que es un modelo para crear una instancia de un objeto y la interfaz es un tipo de referencia que no se puede utilizar para crear una instancia de un objeto. Una clase puede implementar muchas interfaces. Pero solo puede extender una superclase. En la interfaz puede heredar muchas interfaces pero no puede haber una implementación. Ambos tienen su importancia. El programador puede utilizarlos según el software en desarrollo..
Puede descargar la versión en PDF de este artículo y usarla para fines fuera de línea, como se indica en la nota de cita. Por favor descargue la versión PDF aquí Diferencia entre clase e interfaz
1.tutorialspoint.com. "Objetos y clases de Java"., El punto. Disponible aquí
2.navinreddy20. La interfaz en java con un ejemplo, Java Por Navin Reddy, 11 de diciembre de 2012. Disponible aquí