CLASE_Y_OBJETO

DEFINICIÓN MAS DETALLADA - CLASE Y OBJETO

 

TEMAS Y SUBTEMAS POR CUBRIR

1.2 DEFINICIÓN MAS DETALLADA

1.2.1 CLASE Y OBJETO

1.2.2 EJEMPLAR DE CLASE, INSTANCIA DE CLASE, EJEMPLARIZAR UNA CLASE, INSTANCIAR UNA CLASE

1.2.3 MODULARIZACIÓN

1.2.4 ENCAPSULAMIENTO / ENCAPSULACIÓN

 

1.2.1 CLASE Y OBJETO

Las clases y los objetos son los conceptos más importantes de la Programación Orientada por Objetos (POO), y están fuertemente relacionados. Los objetos se crean a partir de clases, y las clases sirven como plantillas para crear objetos. A los objetos también se les llama instancias de clase.

 

1.2.1.1 ¿Qué es una clase?

1.2.1.1.2 Clase

1.2.1.2 ¿Qué es un objeto?

1.2.1.2.2 Objeto

1.2.1.3 Relación entre la clase y los objetos

 

1.2.1.1 ¿Qué es una clase?

El concepto clase está íntimamente relacionado con el concepto objeto.

Podemos definir informalmente una clase como una plantilla (o esqueleto o plano) a partir de la cual se crean los objetos.

Por ejemplo, en el mundo hay millones de televisores de la misma marca y modelo. Cada uno de esos televisores ha sido montado a partir de un mismo plano/esqueleto/plantilla y, consecuentemente, todos ellos tienen los mismos componentes, conexiones y funcionalidades. Ese plano/esqueleto/plantilla es, en términos de programación orientada a objetos, una clase.

Por consiguiente, una clase describe las características y el comportamiento de un conjunto de objetos similares en un contexto determinado.

1.2.1.1.2 Clase

Una clase está formada por los métodos y las variables que definen las características cómunes a todos los objetos de esa clase. Precisamente la clave de la OOP está en abstraer los métodos y los datos comunes a un conjunto de objetos y almacenarlos en una clase.

Una clase equivale a la generalización de un tipo específico de objetos. Una instancia es la concreción de una clase.

Clase X

En la figura anterior, el objeto A y el objeto B son instancias de la clase X.

 

Cada uno de los objetos tiene su propia copia de las variables definidas en la clase de la cual son instanciados y comparten la misma implementación de los métodos.

1.2.1.2 ¿Qué es un objeto?

Un objeto en POO representa alguna entidad de la vida real, es decir, alguno de los objetos únicos que pertenecen al problema con el que nos estamos enfrentando, y con el que podemos interactuar.

Cada objeto, de igual modo que la entidad de la vida real a la que representa, tiene un estado (es decir, unos atributos con unos valores concretos) y un comportamiento (es decir, tiene funcionalidades o sabe hacer unas acciones concretas).

1.2.1.2.2 Objeto

Un objeto es una encapsulación genérica de datos y de los procedimientos para manipularlos.

Al igual que los objetos del mundo real, los objetos de software tienen un estado y un comportamiento. El estado de los objetos se determina a partir de una o más variables y el comportamiento con la implementación de métodos.

La siguiente figura muestra la representación común de los objetos de software

1.2.1.3 Relación entre la clase y los objetos

Hacemos referencia a una estructura que hay en un momento determinado de la ejecución del programa, mientras que cuando hablamos de clase hacemos referencia a una estructura que representa a un conjunto de objetos. Esto implica que:

El tipo de un objeto, en vez de ser de un tipo básico (por ejemplo, intcharfloat, etc.), es una clase concreta definida por el programador.

 

1.2.2 EJEMPLAR DE CLASE, INSTANCIA DE CLASE, EJEMPLARIZAR UNA CLASE, INSTANCIAR UNA CLASE

Las clases se utilizan para contener (o compartir) los atributos de clase o para crear instancias de clase. Para crear una instancia de una clase, debe llamar a la clase como si fuera una función.

Instanciar objetos es el proceso de generar un ejemplar de una clase, es decir, la clase es como una declaración de una forma y el objeto es un caso o elemento concreto que responde a esa forma.

Los objetos se crean a partir de una clase. Con el nombre del objeto (o la variable que va a contener ese objeto que deseamos crear), seguido de un signo igual y luego la palabra new seguida del nombre de la clase y unos paréntesis.

1.2.2.1 Instancia

1.2.2.2 ¿Cuáles son los miembros de una clase?

1.2.2.3 ¿Qué significa instanciar una clase *?

1.2.2.4 ¿Cómo saber si un objeto es una instancia de una clase?

 

1.2.2.1 Instancia

Una instancia (en inglés, instance) es la particularización, realización específica u ocurrencia de una determinada clase, entidad (modelo entidad-relación) o prototipo. ... Esto es, un miembro de una clase que tiene atributos en lugar de variables.

1.2.2.2 ¿Cuáles son los miembros de una clase?

Los miembros de una clase incluyen todos los miembros declarados en la clase, junto con todos los miembros (excepto constructores y finalizadores) declarados en todas las clases de su jerarquía de herencia.

1.2.2.3 ¿Qué significa instanciar una clase *?

Instanciar objetos es el proceso de generar un ejemplar de una clase, es decir, la clase es como una declaración de una forma y el objeto es un caso o elemento concreto que responde a esa forma. ... Podemos crear infinitos objetos a partir de una clase, cada uno sería una instancia de la clase o un ejemplar de esa clase.

1.2.2.4 ¿Cómo saber si un objeto es una instancia de una clase?

En un lenguaje en el que cada objeto es creado a partir de una clase, un objeto es llamado una instancia de esa clase. Cada objeto pertenece a un tipo y dos objetos que pertenezcan a la misma clase tendrán el mismo tipo de dato. Crear una instancia de una clase es entonces referido como instanciar la clase.

1.2.3 MODULARIZACIÓN

 Programa complejo → Diagrama de flujo    Modularizacion

¿Qué es Modularizar?

Proceso de Dividir/Descomponer un programa en diferentes modulos

La palabra modularización proviene de módulo, cuya definición textual es: «Elemento con función propia concebido para poder ser agrupado de distintas maneras con otros elementos constituyendo una unidad mayor.»

La modularización es el proceso por el cual seleccionamos y agrupamos instrucciones de programación que cumplen una función específica.

La modularidad consiste en dividir un programa en módulos que puedan compilarse por separado, sin embargo tendrá conexiones con otros módulos.

1.2.3.1 Proceso de modularizacion

1.2.3.2 La modularidad también tiene principios y son los siguientes:

1.2.3.2.1 Capacidad de descomponer un sistema complejo.

1.2.3.2.2 Capacidad de componer a través de sus módulos.

1.2.3.2.3 Comprensión de sistema en partes.

1.2.3.1 Proceso de modularizacion

Estructura y separación de las tareas que realiza en métodos (herramientas que ayuda a modularizar un programa).

Java: Metodo

C++: Funcion

Basic: Subrutina o procedimiento

En general, en cualquier lenguaje de programación (bajo o alto nivel) estos métodos se conocen como Subrutinas.

1.2.3.2.1 Capacidad de descomponer un sistema complejo.

Recuerdas el principio de «Divide y Vencerás», en este procedimiento se realiza algo similar, ya qué descompones un sistema en subprogramas (recuerda llamarlos módulos), el problema en general lo divides en problemas más pequeños.

1.2.3.2.2 Capacidad de componer a través de sus módulos.

Indica la posibilidad de componer el programa desde los problemas más pequeños completando y resolviendo el problema en general, particularmente cuando se crea software se utilizan algunos módulos existentes para poder formar lo que nos solicitan, estos módulos que se integran a la aplicación deben de ser diseñados para ser reusables.

1.2.3.2.3 Comprensión de sistema en partes.

El poder tener cada parte separada nos ayuda a la comprensión del código y del sistema, también a la modificación del mismo, recordemos que si el sistema necesita modificaciones y no hemos trabajado con módulos definitivamente eso será un caos.

1.2.4 ENCAPSULAMIENTO / ENCAPSULACIÓN

Es el proceso de almacenar en una misma sección los elementos de una abstracción que constituyen su estructura y su comportamiento; sirve para separar el interfaz contractual de una abstracción y su implantación.

1.2.4.1 Qué es encapsulamiento en programación orientada a objetos.

1.2.4.2 Niveles de encapsulamiento

1.2.4.3 Niveles de acceso para el encapsulamiento

 
1.2.4.1 Qué es encapsulamiento en programación orientada a objetos.

Decimos que el encapsulamiento en la programación orientada a objetos 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. 

Otro ejemplo muy común de encapsulamiento son los getters y setters de las propiedades dentro de una clase. Por defecto nos dan el valor “normal” pero podemos modificarlos para que cambie.

1.2.4.2 Niveles de encapsulamiento

Ø  Nivel cerrado: los atributos y métodos del objeto sólo es accesible desde la misma clase.

Ø  Nivel protegido: los atributos y métodos del objeto sólo es accesible desde la clase y las clases que heredan

Ø  Nivel abierto: los atributos y métodos del objeto puede ser accedido desde cualquier clase.

Estos niveles se manejan mediante los modificadores de acceso: privado (privated), protegido (protected) y público (public).

1.2.4.3 Niveles de acceso para el encapsulamiento

Existen tres niveles de acceso para el encapsulamiento, los cuales son:

Ø  Público (Public): Todos pueden acceder a los datos o métodos de una clase que se definen con este nivel, este es el nivel más bajo, esto es lo que tu quieres que la parte externa vea.

·         El modificador de acceso privated, corresponde al nivel cerrado de acceso.

Ø  Protegido (Protected): Podemos decir que estás no son de acceso público, solamente son accesibles dentro de su clase y por subclases.

·         El modificador de acceso protected corresponde al nivel protegido.

Ø  Privado (Private): En este nivel se puede declarar miembros accesibles sólo para la propia clase.

·         El modificador de acceso public corresponde al nivel abierto.

 


Fuentes:

Creación de una instancia de clase - Documentación de IBM https://www.ibm.com/docs/es/spss-modeler/saas?topic=programming-creating-class-instance

Instanciar y trabajar con objetos de clases creadas con Mootools (desarrolloweb.com) https://desarrolloweb.com/articulos/instanciar-trabajar-con-objetos-clases-mootools.html

¿qué es una instancia de una clase? (aleph.org.mx) https://aleph.org.mx/que-es-una-instancia-de-una-clase

III - Clases y objetos (unam.mx) http://profesores.fi-b.unam.mx/carlos/java/java_basico3_1.html

Objeto y clase (uoc.edu)

http://cv.uoc.edu/annotation/cb7a0462407a23d1f3fc46cb1d4e01f8/645413/PID_00249622/PID_00249622.html

Clases y Objetos - Programación Orientada por Objetos en Ruby (gitbook.io) https://makeitrealcamp.gitbook.io/programacion-orientada-por-objetos-en-ruby/clases-y-objetos

Programación Orientada a Objetos – Encapsulación (POO Parte 3) – RJ Code Advance https://rjcodeadvance.com/programacion-orientada-a-objetos-encapsulacion-poo-parte-3/

Encapsulamiento en la programación orientada a objetos – Styde.net https://styde.net/encapsulamiento-en-la-programacion-orientada-a-objetos/

Encapsulamiento en programacion orientada a objetos (netmentor.es) https://www.netmentor.es/entrada/encapsulamiento-poo

Programación 1: modularización (slideshare.net) https://es.slideshare.net/angenio2/programacin-1-modularizacin

Comentarios

  1. La importancia de saber este tipo de programación es importante ya que de ahí se podrá obtener los mejores resultados con acuerdo a lo que se requiere

    ResponderBorrar

  2. Entender el concepto de las clases y objetos como métodos en conjunto a los lenguajes de programación POO, Y como estos se relacionan a los demás temas abarcados en este blog.
    Cambien puede funcionar para relacionar los temas y obtener un mejor entendimiento de las clases y objetos.

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

PARADIGMAS DE PROGRAMACIÓN

Setters & Getters