513 Shares 8899 views

Clase abstracta y método: la descripción, características y características. Lo que es diferente de la interfaz de la clase abstracta

Cualquier persona que tenga algún poco de conocimiento en la programación, se pregunta acerca de por qué hay clases base abstractas. ¿Cuál es su propósito? Cómo crear una clase abstracta? ¿Cuáles son las ventajas que ofrecen en la práctica? ¿Por qué necesitan para programar y qué características para ponerlas en práctica deben ser considerados?

clases abstractas

Así que en programación llamado código de unidad en base a la cual los objetos no se pueden crear. Se hace notar que esta clase de sucesores no puede ser abstracta. Por lo tanto, la creación de objetos basados en ellos es bastante posible. Si consideramos el ejemplo de Java, se construye un modelo que podemos describir los constructores en la clase A. Sin embargo, para usarlos, no podemos. La forma de salir de esta situación es declarar ninguna referencia variable. Y tiene que estar claramente definidos para que apunte a un objeto de clase A. Esto es lo que se puede hacer? Esto nos ayudará a traer. Debe tenerse en cuenta que la clase padre siempre se considera que es más versátil que el descendiente. En muchos lenguajes de programación utilizado para llevar automáticamente. Pero si no hay confianza en la presencia de un mecanismo de este tipo, entonces debe hacer referencia explícitamente al objeto.

métodos abstractos

¿Qué son? Resumen de llamadas aquellos métodos que no se implementan en esta clase. Por lo tanto, siguientes paréntesis (donde listas se utilizan en el caso) no dan abertura de forma (después de lo cual la descripción del bloque situado del método), y sólo un punto y coma. Por lo tanto, en este caso, no hay ninguna información sobre lo que hace. Aquí la pregunta se le puede pedir: "¿Y qué método sin aplicación?" Después de todo, él no se va a utilizar! Por supuesto, en el aula, en la que se ha descrito, esto no es posible. Pero si tenemos en cuenta la situación desde el punto de vista de un descendiente, se le puede llamar. Y operará en una descripción específica disponible en esta clase.

Características métodos abstractos

Existen limitaciones en su uso. Consideremos el ejemplo del lenguaje de programación Java. Hay un requisito si la clase tiene al menos uno de dichos procedimientos, debe ser abstracta. Y, en cualquier caso, es apropiado usar una construcción de este tipo? Vamos a entender esto con un ejemplo de clase mascotas. Para comenzar a entender que no hay sonido que se publican. Por lo tanto, en la clase más general no se ha establecido la buena ejecución del método. Pero organismo creado a través de bloques que aparte de él. Y en los siguientes, al crear perro clase, gato o hámster se prescribe un método único para ello, en el marco de los cuales se revelará a todas las características.

interfaz

En la programación creado muchas herramientas cuyo propósito – para ayudar a las personas hacen un producto de buena calidad. Y el tema que se debe considerar a este aspecto, y que todo el mundo sabe A diferencia de una clase abstracta de la interfaz. Por lo tanto, la última característica es que no puede ser las propiedades y métodos no están definidos cuerpo. Mediante el examen de la diferencia entre una clase abstracta de la interfaz, se debe insistir más en particular. Por lo tanto, la primera se hereda, mientras que el segundo – se realiza. persona sin experiencia puede parecer intrascendente. Pero el hecho es que se puede heredar una sola clase, y se dio cuenta – tanto como sea necesario. Eso es lo que es diferente de la interfaz de la clase abstracta. Java sigue siendo las características que sólo puede describirse métodos públicos y constantes estáticas abstracto. Pero en las mismas interfaces también puede ser heredada. Es necesario señalar que los operadores utilizados son públicos a través de público.

La herencia múltiple de interfaces

Esta función no está disponible para las clases en muchos lenguajes de programación (por ejemplo, Java considerado por nosotros). Esto se debe a una serie de problemas. Como tales ambigüedades indican que se producen en sucesión. Esta fue la razón de la introducción de la herencia múltiple interfaz. Esto resuelve parcialmente los problemas existentes, pero, no todos. Así, gracias a los principios de encapsulación y polimorfismo, las interfaces pueden ser implementadas con éxito en diferentes clases de acuerdo con varios métodos (aunque tendrán el mismo nombre). Pero no se olvide de los problemas existentes. Por lo tanto, cuando se trabaja con múltiples interfaces tendrá que especificar siempre que tenemos en mente. Además, los problemas serán y cuando intenta trabajar con el mismo nombre de dos maneras – en este caso, no van a ser capaces de aprovechar. Por lo tanto, en estos casos, es necesario cuidar de la presencia de las ventas totales.

abstracto de datos

Este concepto es clave para el programa. En este caso, en virtud de la abstracción de revisión independiente y entender la separación de la interfaz y la implementación. Veamos un ejemplo. Tenemos una televisión que es el objeto o módulo. Tiene una interfaz. Como tales, son los controles, así como sonido e imagen. Se utiliza la interfaz más perfecto, el más cómodo del televisor en uso. Podemos cambiar de un programa pulsando cualquier botón. En este caso, no hay necesidad de pensar en los procesos físicos en el televisor. Cuidar de ellos especialistas, que recogen el dispositivo. Nos gusta la gente sólo están interesados en propiedades. Volviendo a la programación, se puede decir que están en una interfaz y la implementación similar. Además, si una persona tiene confianza en su conocimiento, que puede "eliminar" cubre nuestra televisión hipotético y lo mejora. Aunque esto puede llevar a éxito local, en la mayoría de los casos, el resultado final es negativo. Por lo tanto, en la prohibición de programación soportado de acceso y para ocultar los componentes internos de los datos abstractos. El principio de este mecanismo proporciona una manera de evitar que el ajuste intencional o no de los componentes internos. Y cuando se habla de tipos abstractos de datos, la media de un conjunto de un conjunto de operaciones que se pueden realizar en ellos.

objetos

Ya hemos visto una clase abstracta y la interfaz en general y general. Ahora el detalle de dejar que nuestro conocimiento. Para empezar objetos prestar atención. Debajo de ellos, en general, conscientes de la realidad ambiental que existe en el espacio y el tiempo. Pero identificar formalmente objetos dentro del programa es difícil (con el punto de vista filosófico y teórico). Por lo tanto, se debe a sus propiedades. Como un ejemplo, la siguiente: Un objeto puede ser identificada (con un nombre único), es en un cierto estado y utiliza un cierto patrón de comportamiento.

herencia

Dado que la programación se basa en una estructura jerárquica de árbol la construcción de relaciones entre los objetos, se plantea la cuestión sobre el hecho de que las propiedades subyacentes de los tipos de bibliotecas de código parentales fueron transferidos. Bajo la herencia entender la relación cuando alguien se repite el comportamiento y la estructura de otra cosa. En la vida ordinaria, que se puede encontrar en todas partes. Tal fue aplazada y programación de elementos relativamente abstractos. A modo de comparación, el hecho de que no hay tal cuerpo como un pájaro. Este es un nombre abstracto. Como una instancia específica conducir té, Nightingale o gorrión. Gracias a la herencia que podemos utilizar las bibliotecas de clases, así como para desarrollarlos para un programa en particular. Esta herramienta nos permite crear nuevos objetos, añadir o cambiar las propiedades de una ya creada de forma simultánea. Heredero se lleva todos los métodos y campos de su antepasado y adquiere sus propios atributos, si es necesario. Debido al hecho de que hay elementos abstractos y el principio de la herencia, hay amplias oportunidades para la modificación dentro de la programación orientada a objetos. Además, permite un enfoque flexible para la solución de problemas. Cuando se hereda una nueva clase de datos y funciones transferidas.

polimorfismo

Es necesario aplicar la misma función para resolver diferentes tipos de problemas. En este caso proporciona la presencia de la posibilidad de una acción diferente, el contenido de la cual dependerán del tipo de objeto con el que se realiza el trabajo. Bajo el polimorfismo que entiende las propiedades de los elementos que tienen un padre común, para llevar a cabo similar al significado semántico del problema de diferentes maneras. Hacemos una analogía con los animales. Hay acción – para funcionar. Todos sabemos cómo sucede. Sin embargo, diferentes animales (león, elefante, el chimpancé, el cocodrilo, tortuga) esta acción se llevará a cabo de diferentes maneras. En este caso, su movimiento es promotor responsable, que si es necesario se puede causar por un caso particular de una rutina determinada, algoritmo y la implementación con éxito. Esto se realiza mediante una serie de métodos. Al mismo tiempo en cada programador clase especifica qué objeto propiedades que son inherente. Cambiar algo en la descendencia, se puede lograr una acción específica, deseada en este caso. Tal efecto se denomina polimorfismo de objetos. En general, una clase abstracta es una herramienta extremadamente útil para la programación.