La programación orientada a objetos (OOP) es un paradigma común en el desarrollo de software. Ayuda a traer escenarios del mundo real a la programación utilizando clases y objetos. Una clase es un plan para crear un objeto. El programador puede crear una clase con propiedades y métodos. Un estudiante y un maestro son objetos. Crear un objeto se conoce como instanciación. OOP también usa interfaces. Las interfaces y la clase pueden parecer similares, pero tienen una diferencia. Este artículo analiza la diferencia entre una clase y una interfaz. El diferencia clave entre una clase y una interfaz es que Una clase es un tipo de referencia que es un plan para instanciar un objeto, mientras que la interfaz es un tipo de referencia que no puede usarse para instanciar un objeto.
1. Descripción general y diferencia de claves
2. Que es la clase
3. ¿Qué es la interfaz?
4. Similitudes entre la clase y la interfaz
5. Comparación de lado a lado: interfaz de clase vs en forma tabular
6. Resumen
En OOP, todo se considera como un objeto. No es posible crear un objeto sin una clase. Una clase es un plan para crear un objeto. Al construir una casa, el arquitecto dibuja el plan. 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 usando la clase.
La clase contiene las propiedades y métodos. Un estudiante puede tener propiedades como nombre, grado, número de índice. Un estudiante 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 usando la clase de palabras clave.
clase class_name
// propiedades
//métodos
Lenguajes de programación como C# y Java siguen una sintaxis similar para crear un objeto usando una clase. Suponga que el nombre de la clase es estudiante.
Estudiante S1 = nuevo estudiante ();
Este S1 es el objeto. La "nueva" palabra clave se usa para asignar memoria para las propiedades. Una clase también tiene un constructor para inicializar propiedades o variables.
Los miembros de la clase, como las propiedades y los métodos, tienen modificadores de acceso. Los especificadores de acceso describen la accesibilidad y la visibilidad de esos miembros a otras clases. Los miembros de la clase pueden tener especificadores de acceso como público, privado y protegido. Se pueden acceder a los miembros públicos por otras clases. Los miembros privados solo son accesibles para la clase. Se puede acceder a los miembros protegidos dentro de la clase y las subclases relevantes.
La abstracción es un pilar de programación orientada a objetos. Es ocultar los detalles de implementación y mostrar la funcionalidad al usuario. La abstracción se logra utilizando clases e interfaces abstractas. Un método abstracto no tiene una implementación. Una clase que contiene al menos un método abstracto se llama 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 solo la declaración de métodos. No hay método de implementación. Además, las interfaces no se pueden usar para crear objetos. Se utilizan para admitir múltiples herencias y para asegurar el código.
La sintaxis de la interfaz es la siguiente. Interfaz Use la palabra clave "interfaz".
interfaz interface_name
Tipo de método1 (parameter_list);
tipo método2 (parameter_list);
Según lo anterior, las interfaces solo tienen la declaración. No hay definición. Entonces, las interfaces no pueden instanciar objetos. Solo da una vista abstracta de cuál es la interfaz. Los métodos declarados en la interfaz pueden ser implementados por una o muchas clases. Una clase Use la palabra clave "implementar" para implementar una interfaz. Consulte el siguiente ejemplo escrito usando Java.
Figura 01: programa utilizando interfaces
Según 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 de sum () y sub (). Después de crear el objeto del tipo C, es posible llamar a los 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.
Interfaz Clase VS | |
Una clase es un tipo de referencia que es un plan para crear un objeto. | Una interfaz es un tipo de referencia que no se puede instanciar. |
Instanciación de objetos | |
Se usa una clase para instanciar un objeto. | Una interfaz no se puede instanciar 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 casi no 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 de implementación los definen. |
Las clases e interfaces se utilizan ampliamente 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 plan para instanciar un objeto y la interfaz es un tipo de referencia que no se puede usar para instanciar 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 usarlos de acuerdo con el desarrollo del software.
Puede descargar la versión PDF de este artículo y usarla para fines fuera de línea según la nota de cita. Descargue la versión pdf aquí diferencia entre la clase y la interfaz
1.punto de tutorial.comunicarse. "Objeto y clases de Java.", El punto. Disponible aquí
2.Navinreddy20. La interfaz en Java con un ejemplo, Java de Navin Reddy, 11 de diciembre. 2012. Disponible aquí