CARACTERÍSTICAS DE LOS LENGUAJES DE POO
Se puede hablar de Programación Orientada a Objetos cuando se reúnen las características de: abstracción, encapsulación, herencia y polimorfismo; y los conceptos básicos que las forman: objetos, mensajes, clases, instancias y métodos.
ABSTRACCION
Consiste en la generalización conceptual de un determinado conjunto de objetos y de sus atributos y propiedades, dejando en un segundo término los detalles concretos de cada objeto.
Y los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.
La declaración de que una clase es abstracta se hace con la sintaxis public abstract class NombreDeLaClase { … }
ENCAPSULACION
Es cuando limitamos el acceso o damos un acceso restringido de una propiedad a los elementos que necesita un miembro y no a ninguno más.
El elemento más común de encapsulamiento son las clases, donde encapsulamos y englobamos tanto métodos como propiedades.
HERENCIA
Es la capacidad que tiene una clase de derivar las propiedades y métodos de otra.
Para declarar la herencia usamos la palabra clave extends
POLIMORFISMO
Esta propiedad, como su mismo nombre sugiere múltiples formas, se refiere a la posibilidad de acceder a los comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando.
OBJETO
Es una encapsulación abstracta de información, junto con los métodos o procedimientos para manipularla. Un objeto contiene operaciones que definen su comportamiento y variables que definen su estado entre las llamadas a las operaciones.
MENSAJES
Es el que representa una acción a tomar por un determinado objeto.
CLASE
Equivale a la generalización o abstracción de un tipo específico de objetos.
INSTANCIAS
Es la concreción de una clase.
METODO
Consiste en la implementación en una clase de un protocolo de respuesta a los mensajes dirigidos a los objetos de la misma. La respuesta a tales mensajes puede incluir el envío por el método de mensajes al propio objeto y aun a otros, también como el cambio del estado interno del objeto.
CARACTERISTICAS DE LOS LENGUAJES DE POO MAS UTILIZADOS
- ADA
- La sintaxis, inspirada en Pascal, es bastante legible incluso para personas que no conozcan el lenguaje.
-Identificadores y palabras claves son equivalentes sea cual sea el uso de mayúsculas y minúsculas, es decir es un lenguaje case-insensitive.
-Cada sentencia se cierra con end qué_cerramos. Es un modo de evitar errores y facilitar la lectura.
-Se distingue entre "procedimientos" (subrutinas que no devuelven ningún valor pero pueden modificar sus parámetros) y "funciones" (subrutinas que devuelven un valor y no modifican los parámetros).
C++
- Compatibilidad con bibliotecas: A través de bibliotecas hay muchas funciones que están disponible y que ayudan a escribir código rápidamente.
-Orientado a Objetos: El foco de la programación está en los objetos y la manipulación y configuración de sus distintos parámetros o propiedades.
-Rapidez: La compilación y ejecución de un programa en C++ es mucho más rápida que en otros lenguajes de programación.
-Compilación: En C++ es necesario compilar el código de bajo nivel antes de ejecutarse.
-Didáctico: Aprendiendo programación en C++ luego es mucho más fácil aprender lenguajes como Java, C#, PHP, Javascript, etc.
JAVA
-Distribuido
-Interpretado
-Simple
-Robusto
-Seguro
-Portable
-De Alto Rendimiento: sobre todo con la aparición de hardware especializado y mejor software
PHYTON
-Lenguaje de propósito general -Es multiparadigma
-Python es un lenguaje interpretado.
-Es multiplataforma.
-Es orientado a objetos.
-De libre distribución.
-Cuenta con muchas librerías y funciones ya hechas, que podemos utilizar gracias a su extensa biblioteca.
-Tiene soporte para múltiple variedad de bases de datos.
RUBY
-Orientado a objetos. -Posibilidad de redefinir los operadores (sobrecarga de operadores).
-Portable
-Amplia librería estándar.
-Soporta alteración de objetos en tiempo de ejecución
-Cuatro niveles de ámbito de variable: global, clase, instancia y local.