PUBLICACIÓN CLASE 19
En esta clase el profesor nos hizo un repaso de algunos conceptos de la programación
orientado a objetos y nos explico sobre la funcion interfaz en php, realizamos el ejemplo
en notepad como se ejecuta los objetos desde los codigos.
german lopez (ADSI)
martes, 27 de junio de 2017
INTERFAZ PHP:
Las interfaz es el recurso ideal para la implementacion del polimorfismo, ya que las interfaz es un conjunto de declaraciones de funciones o métodos sin incluir su codificación, dejando a la clase que implementa la interfaz esta tarea.
A continuación modificaremos el ejemplo visto en el capitulo anterior para adaptarlo a la utilización de interfaces.
<?php
/*
Empezaremos definiendo la interface
*/
interface Poligono
{
function calculo();
}
/*
A continuacion defino las clases que implementan
la interface
*/
class classCuadrado implements Poligono
{
function calculo()
{
echo 'area de un cuadrado : a=l*l<br>';
}
}
class classRectangulo implements Poligono
{
function calculo()
{
echo 'area de un rectangulo : a=b*h<br>';
}
}
class classTriangulo implements Poligono
{
function calculo()
{
echo 'area de un triangulo : a=(b*h)/2<br>';
}
}
/*
definicion de la funcion encargada de realizar las llamada
polimorfica al metodo "calculo"
A destacar que en la definicion de la funcion definimos el tipo
parametro que pasamos por referencia, esto no es obligatorio
en PHP, pero nos ayuda a entender el concepto y asi poder aplicarlo
en otros lenguajes mas estrictos.
*/
function area(Poligono $obj)
{
$obj->calculo();
}
/*
Creamos los objetos necesarios
*/
$cuadrado = new classCuadrado;
$rectangulo = new classRectangulo;
$triangulo = new classTriangulo;
/*
Ejecutamos la funcion encargada
de realizar la llamada polimorfica
*/
area($cuadrado);
area($rectangulo);
area($triangulo);
?>
Al probar el ejemplo comprobamos el comportamiento polimorfico de la función "área", mostrando diferentes resultados en función del contexto en el que se esta ejecutando dicha función.
Por lo tanto hemos logrado establecer una relación polimorfica con objetos de distinta naturaleza gracias a la utilización de interfaces, sin la necesidad de establecer una jerarquía de clases.
Otras características
Voy a concluir comentando otras características propias de las interfaces a tener en cuenta :
Todos los métodos definidos en una interfaz, deben ser codificados en la clase que implementa dicha interfaz.
La clase que implemente la interfaz debe utilizar exactamente las mismas estructuras de métodos que fueron definidos en la interfaz.
Las interfaces se pueden extender al igual que las clases mediante el operador extends.
Una clase puede implementar diferente interfaces.
Una interfaz no se puede instanciar y todos sus métodos son públicos dada la propia naturaleza de la interfaz.
Una interfaz no puede contener ni atributos, ni métodos implementados, solo declaraciones de métodos y constantes.
Las interfaz es el recurso ideal para la implementacion del polimorfismo, ya que las interfaz es un conjunto de declaraciones de funciones o métodos sin incluir su codificación, dejando a la clase que implementa la interfaz esta tarea.
A continuación modificaremos el ejemplo visto en el capitulo anterior para adaptarlo a la utilización de interfaces.
<?php
/*
Empezaremos definiendo la interface
*/
interface Poligono
{
function calculo();
}
/*
A continuacion defino las clases que implementan
la interface
*/
class classCuadrado implements Poligono
{
function calculo()
{
echo 'area de un cuadrado : a=l*l<br>';
}
}
class classRectangulo implements Poligono
{
function calculo()
{
echo 'area de un rectangulo : a=b*h<br>';
}
}
class classTriangulo implements Poligono
{
function calculo()
{
echo 'area de un triangulo : a=(b*h)/2<br>';
}
}
/*
definicion de la funcion encargada de realizar las llamada
polimorfica al metodo "calculo"
A destacar que en la definicion de la funcion definimos el tipo
parametro que pasamos por referencia, esto no es obligatorio
en PHP, pero nos ayuda a entender el concepto y asi poder aplicarlo
en otros lenguajes mas estrictos.
*/
function area(Poligono $obj)
{
$obj->calculo();
}
/*
Creamos los objetos necesarios
*/
$cuadrado = new classCuadrado;
$rectangulo = new classRectangulo;
$triangulo = new classTriangulo;
/*
Ejecutamos la funcion encargada
de realizar la llamada polimorfica
*/
area($cuadrado);
area($rectangulo);
area($triangulo);
?>
Al probar el ejemplo comprobamos el comportamiento polimorfico de la función "área", mostrando diferentes resultados en función del contexto en el que se esta ejecutando dicha función.
Por lo tanto hemos logrado establecer una relación polimorfica con objetos de distinta naturaleza gracias a la utilización de interfaces, sin la necesidad de establecer una jerarquía de clases.
Otras características
Voy a concluir comentando otras características propias de las interfaces a tener en cuenta :
Todos los métodos definidos en una interfaz, deben ser codificados en la clase que implementa dicha interfaz.
La clase que implemente la interfaz debe utilizar exactamente las mismas estructuras de métodos que fueron definidos en la interfaz.
Las interfaces se pueden extender al igual que las clases mediante el operador extends.
Una clase puede implementar diferente interfaces.
Una interfaz no se puede instanciar y todos sus métodos son públicos dada la propia naturaleza de la interfaz.
Una interfaz no puede contener ni atributos, ni métodos implementados, solo declaraciones de métodos y constantes.
jueves, 22 de junio de 2017
PUBLICACIÓN CLASE 18
En este dia el profesor jhon esphitia nos explico sobre el método estático y el atributo
estático en php. nos hizo un ejemplo sobre:
class palabra {
private $palabra;
public static $listadopalabras=["sena","adsi"];
public static function getpalabra(){
$this->palabra;
return "Sena";
}
}
main.php
palabra::getpalabra();
palabra::$listadopalabras[0];
En este dia el profesor jhon esphitia nos explico sobre el método estático y el atributo
estático en php. nos hizo un ejemplo sobre:
class palabra {
private $palabra;
public static $listadopalabras=["sena","adsi"];
public static function getpalabra(){
$this->palabra;
return "Sena";
}
}
main.php
palabra::getpalabra();
palabra::$listadopalabras[0];
MÉTODOS ESTÁTICOS
Los métodos estáticos a diferencia de los otros se invocan sin crear un objeto, osea desde la misma clase a la que pertenece. De una forma similar a ésta:
ejemplo:

Para invocar métodos estáticos dentro de la clase no se usa $this->metodo(), sino que lo hago con self::metodo(). Esto se debe a que $this sirve para hacer llamadas a propiedades y métodos que están dentro del objeto (no estáticos), y yo acá no tengo que crear ningún objeto.
ATRIBUTOS ESTÁTICOS
Las variables pertenecientes a una clase se llaman "propiedades". También se les puede llamar usando otros términos como "atributos" o "campos", pero para los propósitos de esta referencia se va a utilizar "propiedades". Éstas se definen usando una de las palabras reservadas public, protected, o private, seguido de una declaración normal de variable. Esta declaración puede incluir una inicialización, pero esta inicialización debe ser un valor constante, es decir, debe poder ser evaluada durante la compilación y no depender de información generada durante la ejecución.
<?phpclass ClaseSencilla{
// Válido a partir de PHP 5.6.0:
public $var1 = 'hola ' . 'mundo';
// Válido a partir de PHP 5.3.0:
public $var2 = <<<EODhola mundoEOD;
// Válido a partir de PHP 5.6.0:
public $var3 = 1+2;
// Declaraciones de propiedades inválidas:
public $var4 = self::miMétodoEstático();
public $var5 = $myVar;
// Declaraciones de propiedades válidas:
public $var6 = miConstante;
public $var7 = array(true, false);
// Válido a partir de PHP 5.3.0:
public $var8 = <<<'EOD'hola mundoEOD;
}?>
Los métodos estáticos a diferencia de los otros se invocan sin crear un objeto, osea desde la misma clase a la que pertenece. De una forma similar a ésta:
NombreDeLaClase::nombreDelMetodo();Como verán primero se llama a la clase, luego se utliza los dos puntos (::) y finalmente se invoca al método estático creado. Todo esto sin la necesidad de tener que instanciar un objeto basado en esa clase.
ejemplo:

Para invocar métodos estáticos dentro de la clase no se usa $this->metodo(), sino que lo hago con self::metodo(). Esto se debe a que $this sirve para hacer llamadas a propiedades y métodos que están dentro del objeto (no estáticos), y yo acá no tengo que crear ningún objeto.
ATRIBUTOS ESTÁTICOS
Las variables pertenecientes a una clase se llaman "propiedades". También se les puede llamar usando otros términos como "atributos" o "campos", pero para los propósitos de esta referencia se va a utilizar "propiedades". Éstas se definen usando una de las palabras reservadas public, protected, o private, seguido de una declaración normal de variable. Esta declaración puede incluir una inicialización, pero esta inicialización debe ser un valor constante, es decir, debe poder ser evaluada durante la compilación y no depender de información generada durante la ejecución.
<?phpclass ClaseSencilla{
// Válido a partir de PHP 5.6.0:
public $var1 = 'hola ' . 'mundo';
// Válido a partir de PHP 5.3.0:
public $var2 = <<<EODhola mundoEOD;
// Válido a partir de PHP 5.6.0:
public $var3 = 1+2;
// Declaraciones de propiedades inválidas:
public $var4 = self::miMétodoEstático();
public $var5 = $myVar;
// Declaraciones de propiedades válidas:
public $var6 = miConstante;
public $var7 = array(true, false);
// Válido a partir de PHP 5.3.0:
public $var8 = <<<'EOD'hola mundoEOD;
}?>
martes, 20 de junio de 2017
CLASE ABSTRACTA EN PHP
La llegada de las interfaces fue uno de los grandes cambios de PHP5. Ya que con ella PHP daba un paso más hacia la programación orientada a objetos completa.
Una clase abstracta es una clase que no se puede instanciar (provocaría error) y por lo tanto no se puede crear un objeto a partir de ella. Su intención es definir una estructura (plantilla), que puede estar parcialmente implementada, para cualquier clase que quiera extenderla. Puede implementear ciertas funcionalidades y dejar que sus herederas terminen de implementearla.
Para crear una clase abstracta debemos usar la palabra clave abstract:
Una clase abstracta debe contener como mínimo un método abstracto. Los métodos abstractos no tienen implementación, sino que definen una funcionalidad que será implementada obligatoriamente en las clases herederas.
La llegada de las interfaces fue uno de los grandes cambios de PHP5. Ya que con ella PHP daba un paso más hacia la programación orientada a objetos completa.
Una clase abstracta es una clase que no se puede instanciar (provocaría error) y por lo tanto no se puede crear un objeto a partir de ella. Su intención es definir una estructura (plantilla), que puede estar parcialmente implementada, para cualquier clase que quiera extenderla. Puede implementear ciertas funcionalidades y dejar que sus herederas terminen de implementearla.
Para crear una clase abstracta debemos usar la palabra clave abstract:
Una clase abstracta debe contener como mínimo un método abstracto. Los métodos abstractos no tienen implementación, sino que definen una funcionalidad que será implementada obligatoriamente en las clases herederas.
abstract class Ejemplo{
}
abstract class Animal {
function presentacion() {
$sonido = $this->sonido();
return strtoupper($sonido);
}
abstract function sonido();
}
viernes, 16 de junio de 2017
PUBLICACIÓN CLASE 17
Polimorfismo
En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.
La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más allá de las obvias diferencias sintácticas.
Por ejemplo, en un lenguaje de programación que cuenta con un sistema de tipos dinámico (en los que las variables pueden contener datos de cualquier tipo u objetos de cualquier clase) como Smalltalk no se requiere que los objetos que se utilizan de modo polimórfico sean parte de una jerarquía de clases.
En lenguajes basados en clases y con un sistema de tipos de datos fuerte (independientemente de si la verificación se realiza en tiempo de compilación o de ejecución), es posible que el único modo de poder utilizar objetos de manera polimórfica sea que compartan una raíz común, es decir, una jerarquía de clases, ya que esto proporciona la compatibilidad de tipos de datos necesaria para que sea posible utilizar una misma variable de referencia (que podrá apuntar a objetos de diversas subclases de dicha jerarquía) para enviar el mismo mensaje (o un grupo de mensajes) al grupo de objetos que se tratan de manera polimórfica.
No obstante, algunos lenguajes de programación (Java, C++) permiten que dos objetos de distintas jerarquías de clases respondan a los mismos mensajes, a través de las denominadas interfaces (esta técnica se conoce como composición de objetos). Dos objetos que implementen la misma interfaz podrán ser tratados de forma idéntica, como un mismo tipo de objeto, el tipo definido por la interfaz. Así, distintos objetos podrán intercambiarse en tiempo de ejecución –siempre que sean del mismo tipo–, y además con dependencias mínimas entre ellos. Por estos motivos se considera un buen principio de diseño en programación orientada a objetos el favorecer la composición de objetos frente a la herencia de clases.1
En Java las interfaces se declaran mediante la palabra clave Interface. Estas se utilizan para lograr la necesaria concordancia de tipos que hace posible el polimorfismo, también como un contrato que debe cumplir cualquier clase que implemente una cierta interfaz, y como una forma de documentación para los desarrolladores. A veces, en la literatura específica sobre Java se habla de "herencia y polimorfismo de interfaces", lo que no concuerda con los conceptos de la programación orientada a objetos porque una clase que implementa una interfaz sólo obtiene su tipo de datos y la obligación de implementar sus métodos, no copia comportamiento ni atributos. Esta terminología puede llevar a confusión, puesto que en Java a menudo se utiliza la mal llamada "herencia de interfaces" para dotar a una clase de uno o varios tipos adicionales, lo que unido a la composición, evite la necesidad de la herencia múltiple y favorezca una utilización más amplia del polimorfismo.
No obstante, el uso de una jerarquía de clases como paso previo, es muy habitual incluso en aquellos lenguajes en los que es posible prescindir de tal jerarquía, ya que, desde una perspectiva conceptual, se puede decir que al pertenecer los "objetos polimórficos" a subclases de una misma jerarquía, se asegura la equivalencia semántica de los mensajes que se invocarán de modo polimórfico. Por esto, en programación orientada a objetos a veces se denomina al polimorfismo como "polimorfismo de subclase (o de subtipo)".
En resumen, en la programación orientada a objetos, la esencia del polimorfismo no atañe a la clase o prototipo de la que provienen los objetos. Aun así, en los lenguajes basados en clases, es habitual (y en algunos tal vez sea el único modo) que dichos objetos pertenezcan a subclases pertenecientes a una misma jerarquía. Entonces, el polimorfismo debe verse como una forma flexible de usar un grupo de objetos (como si fueran sólo uno). Podría decirse que el polimorfismo en esencia refiere al comportamiento de los objetos, no a su pertenencia a una jerarquía de clases (o a sus tipos de datos).
Polimorfismo
En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.
La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más allá de las obvias diferencias sintácticas.
Por ejemplo, en un lenguaje de programación que cuenta con un sistema de tipos dinámico (en los que las variables pueden contener datos de cualquier tipo u objetos de cualquier clase) como Smalltalk no se requiere que los objetos que se utilizan de modo polimórfico sean parte de una jerarquía de clases.
En lenguajes basados en clases y con un sistema de tipos de datos fuerte (independientemente de si la verificación se realiza en tiempo de compilación o de ejecución), es posible que el único modo de poder utilizar objetos de manera polimórfica sea que compartan una raíz común, es decir, una jerarquía de clases, ya que esto proporciona la compatibilidad de tipos de datos necesaria para que sea posible utilizar una misma variable de referencia (que podrá apuntar a objetos de diversas subclases de dicha jerarquía) para enviar el mismo mensaje (o un grupo de mensajes) al grupo de objetos que se tratan de manera polimórfica.
No obstante, algunos lenguajes de programación (Java, C++) permiten que dos objetos de distintas jerarquías de clases respondan a los mismos mensajes, a través de las denominadas interfaces (esta técnica se conoce como composición de objetos). Dos objetos que implementen la misma interfaz podrán ser tratados de forma idéntica, como un mismo tipo de objeto, el tipo definido por la interfaz. Así, distintos objetos podrán intercambiarse en tiempo de ejecución –siempre que sean del mismo tipo–, y además con dependencias mínimas entre ellos. Por estos motivos se considera un buen principio de diseño en programación orientada a objetos el favorecer la composición de objetos frente a la herencia de clases.1
En Java las interfaces se declaran mediante la palabra clave Interface. Estas se utilizan para lograr la necesaria concordancia de tipos que hace posible el polimorfismo, también como un contrato que debe cumplir cualquier clase que implemente una cierta interfaz, y como una forma de documentación para los desarrolladores. A veces, en la literatura específica sobre Java se habla de "herencia y polimorfismo de interfaces", lo que no concuerda con los conceptos de la programación orientada a objetos porque una clase que implementa una interfaz sólo obtiene su tipo de datos y la obligación de implementar sus métodos, no copia comportamiento ni atributos. Esta terminología puede llevar a confusión, puesto que en Java a menudo se utiliza la mal llamada "herencia de interfaces" para dotar a una clase de uno o varios tipos adicionales, lo que unido a la composición, evite la necesidad de la herencia múltiple y favorezca una utilización más amplia del polimorfismo.
No obstante, el uso de una jerarquía de clases como paso previo, es muy habitual incluso en aquellos lenguajes en los que es posible prescindir de tal jerarquía, ya que, desde una perspectiva conceptual, se puede decir que al pertenecer los "objetos polimórficos" a subclases de una misma jerarquía, se asegura la equivalencia semántica de los mensajes que se invocarán de modo polimórfico. Por esto, en programación orientada a objetos a veces se denomina al polimorfismo como "polimorfismo de subclase (o de subtipo)".
En resumen, en la programación orientada a objetos, la esencia del polimorfismo no atañe a la clase o prototipo de la que provienen los objetos. Aun así, en los lenguajes basados en clases, es habitual (y en algunos tal vez sea el único modo) que dichos objetos pertenezcan a subclases pertenecientes a una misma jerarquía. Entonces, el polimorfismo debe verse como una forma flexible de usar un grupo de objetos (como si fueran sólo uno). Podría decirse que el polimorfismo en esencia refiere al comportamiento de los objetos, no a su pertenencia a una jerarquía de clases (o a sus tipos de datos).

PUBLICACIÓN CLASE 16
En esta clase el profesor explico en programación orientado objeto el tema de la
herencia en el lenguaje de php, creamos 4 clases (instructor,aprendiz,main,persona)
la cual usamos con la palabra EXTENTED con el PUBLIC.
ABSTRACCIÓN:
La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (característica de caja negra). El común denominador en la evolución de los lenguajes de programación, desde los clásicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstracción del que cada uno de ellos hace uso.
Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de lenguajes pueden implementar los modelos abstractos. La abstracción ofrecida por los lenguajes de programación se puede dividir en dos categorías: abstracción de datos (pertenecientes a los datos) y abstracción de control (perteneciente a las estructuras de control).
Los diferentes paradigmas de programación han aumentado su nivel de abstracción, comenzando desde los lenguajes de máquina, lo más próximo al ordenador y más lejano a la comprensión humana; pasando por los lenguajes de comandos, los imperativos, la orientación a objetos (POO), la Programación Orientada a Aspectos (POA); u otros paradigmas como la programación declarativa, etc.
La abstracción encarada desde el punto de vista de la programación orientada a objetos expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás. Además de distinguir entre los objetos provee límites conceptuales. Entonces se puede decir que la encapsulación separa las características esenciales de las no esenciales dentro de un objeto. Si un objeto tiene más características de las necesarias los mismos resultarán difíciles de usar, modificar, construir y comprender sobre todo cuando es un método de número entero con terminación fraccionaria.
La misma genera una ilusión de simplicidad dado que minimiza la cantidad de características que definen a un objeto.
Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que sus esfuerzos pudiesen ser utilizados por otras personas se creó la POO que consiste en una serie de normas para garantizar la interoperabilidad entre usuarios de manera que el código se pueda reutilizar.
Ejemplo
Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Una analogía sería modelizar un coche en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. En un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar.
Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc.
Estos objetos son utilizables en los programas, por ejemplo en un programa de matemáticas se puede hacer uso de objetos fracción y en un programa que gestione un taller de coches, objetos coche. Los programas orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc.
En esta clase el profesor explico en programación orientado objeto el tema de la
herencia en el lenguaje de php, creamos 4 clases (instructor,aprendiz,main,persona)
la cual usamos con la palabra EXTENTED con el PUBLIC.
ABSTRACCIÓN:
La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (característica de caja negra). El común denominador en la evolución de los lenguajes de programación, desde los clásicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstracción del que cada uno de ellos hace uso.
Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de lenguajes pueden implementar los modelos abstractos. La abstracción ofrecida por los lenguajes de programación se puede dividir en dos categorías: abstracción de datos (pertenecientes a los datos) y abstracción de control (perteneciente a las estructuras de control).
Los diferentes paradigmas de programación han aumentado su nivel de abstracción, comenzando desde los lenguajes de máquina, lo más próximo al ordenador y más lejano a la comprensión humana; pasando por los lenguajes de comandos, los imperativos, la orientación a objetos (POO), la Programación Orientada a Aspectos (POA); u otros paradigmas como la programación declarativa, etc.
La abstracción encarada desde el punto de vista de la programación orientada a objetos expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás. Además de distinguir entre los objetos provee límites conceptuales. Entonces se puede decir que la encapsulación separa las características esenciales de las no esenciales dentro de un objeto. Si un objeto tiene más características de las necesarias los mismos resultarán difíciles de usar, modificar, construir y comprender sobre todo cuando es un método de número entero con terminación fraccionaria.
La misma genera una ilusión de simplicidad dado que minimiza la cantidad de características que definen a un objeto.
Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que sus esfuerzos pudiesen ser utilizados por otras personas se creó la POO que consiste en una serie de normas para garantizar la interoperabilidad entre usuarios de manera que el código se pueda reutilizar.
Ejemplo
Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Una analogía sería modelizar un coche en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. En un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar.
Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc.
Estos objetos son utilizables en los programas, por ejemplo en un programa de matemáticas se puede hacer uso de objetos fracción y en un programa que gestione un taller de coches, objetos coche. Los programas orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc.

Suscribirse a:
Entradas (Atom)