Bueno y hablando de programación no podríamos dejar afuera la programación orientada a objetos y por
lo menos tocarlos los términos más utilizados o más básicos en este tipo de programación.
Igual empezamos con algunos términos vamos a poner yo creo que en este caso poner un ejemplo es muy
de mucha de mucho provecho para algunos estudiantes porque si bien algunos programadores tomando este
curso vayan a entenderlo vayan a verlo como un muy básico.
Créanme que muchas personas que vienen de otro background en ITD por ejemplo administradores de sistemas
de Beatz incluso gente de seguridad pues les es muy Celes es muy raro o conceptualizar estos estos términos.
Entonces hay algunos términos en programación orientada a objetos que se utilizan para la reutilización
de algunas clases y por ende la mejora del performance o también del performance pero sí la optimización
de los recursos es decir yo puedo hacer una clase que se llama elogien y utilizarla en mis diferentes
proyectos Lovin al final va a tener algo similar como por ejemplo conexión a una base de datos Encryption
etcétera etcétera.
Y para qué voy a programarlo cada vez.
Si yo lo puedo reutilizar en varios proyectos esa es la magia detrás de la programación orientada a
objetos pero hay algunos términos básicos como por ejemplo clase método herencia polimorfismo colindancia
instancia perdón encapsulamiento.
Pero bueno vamos a verlos en un ejemplo supongamos que tenemos el objeto prueba en este caso para conceptualizar
el estos términos tenemos una clase que se llama operaciones matemáticas por ejemplo que es lo más sencillo.
Luego tenemos un método que se llama suma o multiplicación resta división pero en este caso el método
se llama sumarla.
Entonces cómo funciona la herencia en este caso el objeto prueba que habíamos dicho hereda el entendimiento
de los números y en este caso las operaciones matemáticas verdad de sus clases padre en este caso la
clase que se llamaba operaciones matemáticas se recuerda entonces el objeto prueba hereda eso hereda
ese conocimiento ese entendimiento de los números como tal.
Entonces el programador simplemente puede necesitar el objeto prueba en este caso para hacer la suma
verdadque que en este caso es la es método que vamos a utilizar entonces aquí en el ejemplo por ejemplo
podríamos meter uno más uno y el Apud podría ser dos o dependiendo de lo que quisiéramos hacer por afuera
entonces esa es la herencia básicamente heredar el entendimiento o el conocimiento de las clases padres
en este caso de que la clase padre era las operaciones matemáticas el método de la suma y el objeto
era prueba verdad.
Entonces bajo este mismo ejemplo por ejemplo el polimorfismo entonces la clase del objeto prueba puede
cambiar su comportamiento basado en el contexto de la entrada.
Por ejemplo en vez de hacer una suma con el símbolo más verdad lo que va a hacer es la concatenación
por ejemplo de dos dedos de dos de los dos de las dos entradas.
En este caso por ejemplo si le metemos la misma entrada 1 y 1 en este caso ya no lo sumaría y ya no
nos daría 2 sino que nos daría 11 verdad.
Este es el polimorfismo básicamente cambiar su comportamiento dependiendo el contexto de la entrada
o por ejemplo podría incluso recibir no necesariamente números sino caracteres verdad podría recibir
1 +1 y sabiendo que el contexto de números puede ser sumas entonces nos podría dar dos pero si nosotros
metemos una letra o dos letras por ejemplo Abbé en este caso sabe que no es suma sino que es concatenación
y no nos da el resultado.
La habe juntos.
Entonces este es polimorfismo final polimorfismo su interpretación es muchas formas.
Luego tenemos la Pola instancia ación que en este caso por ejemplo que estamos siguiendo dos objetos
prueba en este caso pongámosle los niveles de Secret y top secret pueden tirar resultados distintos
es decir un ejemplo muy común para las bases de datos es yo yo yo voy a hacer un cuadro a la tabla específica
verdad y lo que yo hago es bueno voy a hacer voy a hacer voy a consultar esta llave primaria específica
y a mí con un nivel de acceso 5 es decir.
Este avión sale de Estados Unidos hacia Argentina pero a mi otro compañero con acceso top secret le
va a decir bueno este avión sale de Estados Unidos hacia Europa verdad que es la información que realmente
es verídica o la verdadera.
Esto sirve para también no solo de programación orientada a objetos.
No sólo nos sirve para apalancar estabilidad de la programación orientada a objetos sino que también
para asegurar las bases de datos o la información como tal.
Por ejemplo se acuerdan de los ataques de inferencia y agregación que vimos en videos anteriores pues
la polistas nos podría ayudar con esa verdad.
Yo me quedo feliz con mi acceso cicle de que pude acceder a la información por ende agregando o infiriendo
información porque al final yo pensé que accedí a la información que realmente era o a la información
verídica verdad.
Entonces podríamos apalancar hoy la instancia para poder aprovechar esa habilidad y reducir o reducir
las probabilidades de estos ataques de inferencia y agregación verdad.
Y por último tenemos el encapsulamiento que describe digamos como una idea de blindar o de encapsular
valga la redundancia información en una clase por ejemplo si yo sé que la clase se llama operaciones
matemáticas pues poder inferir que de repente por ahí hace sumas restas multiplicaciones verdad.
Pero podría yo simplemente decirle a la clase operaciones nada más.
Y no revelar qué es lo que hace por dentro.
El Estado que variables tiene.
Qué métodos tienen no revelar nada de eso para que no exista fuga de información o revelar información
de más de que pueda hacer una clase o no pueda ser verdad.
Porque muchas veces podría yo decir bueno si esta clase se llama operaciones matemáticas de repente
este código me lleva al departamento a operaciones que hace el departamento de nómina por ejemplo para
el pago de nóminas de recursos humanos o de repente me lleva a entender temas de contabilidad o de saber
que está relacionado con el departamento de contabilidad.
Entonces yo tal vez yo como programador otra vez desde la perspectiva de seguridad pueda que quiera
yo esconder o encapsular o no revelar alguna información de la clase verdad.
Comportamiento variables métodos formas de operar etcétera etcétera.
Entonces la encapsulación no sirve para esto.
El ejemplo más más sencillo aquí siguiendo el objeto prueba y la clase de pruebas matemáticas operaciones
matemáticas es que el método adiccion lo pongo como privado y no como público o lo podría poner como
público si es lo que si yo lo que intento es que realmente lo utilicen otras clases de verdad.
Todo va a depender de qué es lo que quiera llegar a ser pero al final la encapsulamiento por qué es
eso.
Entonces para repasar algunos temas muy básicos y muy utilizados en la programación orientada a objetos
que es el objeto la clase el método la herencia el polimorfismo la polista Ascención y el encapsulamiento
si no les queda claro alguno de estos métodos pues vayan a atrasen el video y puedan repasar esto las
veces que ustedes deseen.
De igual forma si tienen o quieren indagar en algún tópico específico recuérdense que el Celles SP es
muy amplio y estoy aquí haciendo mi mejor esfuerzo para resumir hojas y hojas miles de hojas de conocimiento
en un video o algo práctico para que ustedes entiendan sin embargo si ustedes creen que algún área ustedes
carecen de conocimiento o creen que están un poco flacos como decimos acá de conocimiento en algún área
específica.
Pues yo de verdad les recomiendo ir a ir a googlear y a buscar fuentes frameworks.
Obviamente todo esto de fuentes verídicas de verdad y comprobadas y no simplemente de cualquier fuente
que podamos encontrar en internet pero sí indagar más.
Y bueno así es todo amigos.
Espero les ha gustado y nos vamos muy pronto.