Está en la página 1de 9

POO

La programación orientada a procedimientos son los lenguajes antiguos y los lenguajes de


programación orientada a objetos son los modernos
La programación orientada a objetos consiste en la relación con el mundo real

 Estado: Comprendiendo por estado como se encuentra ese objeto, como esta

 Propiedades: Las características que tiene ese objeto

 Comportamiento: Que es capaz de hacer ese objeto

Ventajas

Una clase se puede traducir como parte, trozo o modulo, el dividir un programa en clases
da lugar a la modularizacion, cuando se divide un programa en todo lo mencionado
anteriormente hace que este programa sea reutilizable (herencia)
También existe el encapsulamiento

Ejemplo
Las modularizaciones o clases dan lugar a un programa completo y cada uno de ellos da
lugar a los diferentes modificadores de acceso

Los modificadores de acceso nos indican desde donde podemos acceder a cualquier clase,
trozo o modulo del programa
Cuando se utiliza un lenguaje de programación orientada a objetos al momento de
programar se pueden usar 2 caminos, que es programar un programa complejo en un
único trozo de código (que no es recomendable) o programar esa misma aplicación en
pequeños módulos, trozos o clases
Si se realiza de la manera de un único trozo se puede encontrar con los problemas que se
tenían con los lenguajes orientados a procedimientos, es por ello que siempre se
recomienda utilizar las modularizaciones o clases, sobre todo si es una aplicación compleja
La modularizacion surge cuando los programas comienzan a ser más complejos, aquellos
programas que son simples se deben de realizar en una única clase
Encapsulamiento: Hace referencia a que cuando se realiza una aplicación en módulos
clases o partes este bloquea el acceso a su interior para que nadie desde el exterior pueda
ver cuál es su funcionamiento interno, habrá veces que puede ser necesario y otras que
no, habrá veces que se encapsulen módulos y otras en que encapsule todo
Herencia: Se utiliza realizando clases
Polimorfismo: Deriva de la POO

Definiciones
Clase: Las características comunes (motor, llantas) que comparte un grupo de objetos
como por ejemplo el coche se le puede denominar clase. La clase es como una plantilla a
partir de la cual se construyen los diferentes coches

Objetos: Aquellos que derivan de aquella clase o plantilla, partiendo de aquel chasis o
motor se pueden tener 2 objetos diferentes y estos 2 objetos pertenecen a la misma clase
porque comparten una serie de características comunes y luego estos 2 objetos tiene sus
propias características que los hace diferentes entre ellos por ejemplo:

 Tienen su propia carrocería


 Color
 Etc.
Ejemplo:

Un auto*

+Tiene propiedades (atributos):

 Color
 Peso
 Largo
 Alto

+Tiene un comportamiento o acciones (¿Qué es capaz de hacer?):

 Arrancar
 Frenar
 Girar
 Acelerar

Para construir mediante código las propiedades de un objeto o comportamiento y aquí se utiliza la
nomenclatura del punto.

La nomenclatura del punto es acceder a propiedades y objetos, utilizando un punto


¿Qué es una instancia?

Un objeto

- ¿Qué es un objeto?

Es un ejemplar único que tiene características y funcionalidades propias de la clase donde se


origina.

*Ejemplo:

Un auto*

+Tiene propiedades (atributos):

 -color
 -peso
 -largo
 -alto

Tiene un comportamiento o acciones (¿Qué es capaz de hacer?):

 -Arrancar
 -Frenar
 -Girar
 -Acelerar

- ¿Qué es *instanciar?

Crear un objeto a partir de una clase. Usas el modelo para crear mismos objetos, pero con
diferentes atributos como el color etc.

- ¿Qué es una *clase?


Básicamente una plantilla que contiene donde se redactan las características funcionalidades
comunes de un grupo de objetos

*Ejemplo:

Clase un auto*

 -Ruedas
 -Peso
 -Ancho
 -Motor
 -Etc

- ¿Qué es una *superclase y *subclase?

Cuando la primera clase se hereda de otra, ésta pasa a ser una SUPERCLASE, siendo la segunda
una SUBCLASE.

- Método Constructor: Indica el estado inicial de los objetos que pertenezcan a una función en
especifica.

-Modificadores de acceso:

 Public (Puedes acceder de cualquier otra clase)

 Private (Con esta propiedad definimos que los objetos encapsulados ya que solo podemos
llamarlos dentro de la propia clase)

 Protected (Cuando declaras una propiedad con el modificador protected solo serán
accesibles en la propia clase y de clases que hereden dicha propiedad) (Hay más en C#,
estas son las que yo conozco)
-GET & SET: Son métodos que nos permiten modificar y acceder a las propiedades de un objeto.

Los descriptores de acceso get / set son muy útiles para controlar el acceso a los atributos de una
clase. Es muy similar a crear un método o función pública para acceder a una propiedad privada y
poder controlar los valores de entrada por ejemplo.

 SETTER: Establece y luego modifica los datos


 GETTER: Devuelve el estado de una propiedad o lo que hay dentro de ella

Métodos Estáticos: Es un método que cambia el comportamiento de un objeto. Cuando es


estático, solo pertenece a la clase donde fue creado, por ende, ningún objeto que crees tendrán
copia de los métodos de la clase.

¿Qué quiere decir?

Que el método definido como estático será compartido en ambos métodos instanciados en los
objetos por lo que serán iguales.

Otra cosa importante es decir que la POO tiene a lo menos cinco pilares fundamentales en los
que se basa, estos son:

1. Modularización: Son objetos independientes que se conectan entre ellas y


forman una sola unidad. Por ejemplo, un equipo o parlante, tiene varios
módulos, como el tocadiscos, un sistema bluetooth etc. Por ende si una parta
falla, las otras siguen con su funcionamiento de manera independiente

2. Abstracción: Consiste en captar las características y funciones que un objeto


desempeña y estos son representados en clases por medio de atributos y
métodos de dicha clase.

Ejemplo:
3. Herencia: Fundamental, posibilidad de la reutilización de variables y funciones
entre otras.

4. Polimorfismo: Este es un tema confuso y difícil de entender a la primera, un


típico ejemplo es calcular área, los parámetros para calcular el área de un
rectángulo no son los mismos que los necesarios para calcular el área de un
círculo, es decir enunciamos el método calcularArea() pero no indicamos como
hacerlo, sino que dependiendo de lo que necesitemos, al momento de llamar al
método le indicaremos los parámetros. Es difícil de entender al principio.

5. Encapsulación: Fundamental y relacionado a cómo ocultamos el código.


Consiste en que los diferentes objetos o clases que forman parte de un
programa tengan características encapsuladas o metidas en una celda para que
solo puedan ser accesibles en el propio objeto o clase. Prácticamente
independientes

También podría gustarte