Curso de Java SE Orientado a Objetos

Curso de Java SE Orientado a Objetos

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Abstracción: ¿Qué es una Clase?

3/38
Recursos
Transcripción

La Abstracción se trata de analizar objetos de forma independiente, sus propiedades, características y comportamientos, para abstraer su composición y generar un modelo, lo que traducimos a código como clases.

Las Clases son los modelos sobre los cuales construimos nuestros objetos, es decir, las clases son los “moldes” que nos permiten generar objetos. Cada clase debe tener identidad (con un nombre de clase único usando Upper Camel Case), estado (con sus atributos) y comportamiento (con sus métodos y operaciones).

Por ejemplo:

El ejemplo de clase más típico en Internet:

Nombre de la clase: Person
Atributos: Name, Age
Operaciones: Walk()

Aportes 56

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

DIAGRAMA DE CLASES

Para entender qué es un diagrama de clases, lo primero que se debe tener claro es qué es una clase, pues bien, una clase es un elemento importante dentro del contexto de un sistema, que puede tener información o datos valiosos y realizar acciones que sean necesarias dentro del funcionamiento del sistema.

Por ejemplo, en un software para un supermercado, seguramente los elementos más importantes sobre los cuales sea significativo mantener información son los productos, los clientes, las ventas y los pedidos, en este caso se han encontrado las clases PRODUCTO, CLIENTE, VENTA y
PEDIDO.

Estas clases a su vez tienen atributos (datos) y métodos (funciones), porejemplo, la clase PRODUCTO tiene como uno de sus atributos, el atributo precio y uno de sus métodos puede ser incrementarPrecio. De esta forma, a través de los atributos se puede acceder a la información de la clase y a través de los métodos se pueden ejecutar acciones sobre la clase. Estas clases se unen a otras clases a través de relaciones y así se conforma el diagrama de clases.
Toda clases se compone de 3 elementos importantes así: Nombre de la clase, Atributos o propiedades también denominados miembros de la clase y los métodos (operaciones) o
acciones propias de la clase. (Estas acciones se identifican con verbos en infinitivo).

Atributos:
Los atributos o características de una Clase pueden ser de tres tipos, definen la visibilidad:
•Public (+): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.
• Private(-): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden acceder).
• Protected (#): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accedido por métodos de la clase además de las subclases que se deriven (herencia).
• Sin modificador de acceso ( ): Indica que el atributo será accesible desde cualquier clase que se encuentre en el mismo paquete de la clase que contiene al atributo sin modificador de acceso.
Métodos:
Los métodos u operaciones de una clase son la forma en cómo ésta interactúa con su entorno, éstos pueden tener las características:
• Public (+): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.
• Private (-): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden acceder).
• Protected (#): Indica que el método no será accesible desde fuera de la clase, pero si podrá ser accedido por métodos de la clase además de métodos de las subclases que se deriven (herencia).
• Sin modificador de acceso ( ): Indica que el método será
accesible desde cualquier clase que se encuentre en el mismo
paquete de la clase que contiene al método sin modificador de
acceso.

Clase vs Objeto

Representación gráfica

👇 APUNTES DE LA CLASE 😊

Muy buena clase, ni pensar que aunque tengo experiencia, hace poco fui corchado con un conceptos como estos, que aunque manejemos diaramente pero que algunas veces olvidamos, gracias por recorderme estas cosas tan importantes!

Teniendo claro qué es un objeto, gracia a Anahí, podermos entender qué es una clase. Para ello primero definiremos a la programación como el proceso por el cual se manejan o administran datos, agruparlos y hacer operaciones sobre los mismos, y con esto se entenderá mejor qué es una clase.
😃

  • Clase: es un modelo o plantilla sobre el cual se agrupan datos (campos o atributos) y funciones (métodos) que operan sobre esos datos para crear objetos.

  • Absracción: es el proceso mental que se realiza para extraer un elemento de su contexto, luego eliminar u ocultar sus detalles innecesarios para luego definir sus características que lo distinguen de los demás.

Mis apuntes de esta Clase:

Abstracción: ¿Qué es una Clase?

Son el modelo sobre el cuál se construirá un objeto. Se puede decir que de cierta forma una Clase es un especie de molde que se usa para construir Objetos.

Abstracción

Es un concepto en el que se analiza un Objeto para extraer sus composición y en base a eso crear una Clase. En resumidas cuentas, la abstracción es ese proceso de analizar los objetos para identificar sus atributos y métodos comunes para en base a eso crear un molde llamando Clase.

El flujo de trabajo con POO es el siguiente:

  1. Analizar el problema y extraer los Objetos que lo componen.
  2. Abstraer dichos Objetos en Clases.
  3. Gráficar las Clases en UML
  4. Implementar con código el diagrama UML.

#### Graficar Clases en UML

Nota: si quieren graficar con UML les recomiendo este programa
StarUML

🤔 Tu nivel de abstracción determina la calidad de la solución.


Abstracción: Proceso en el cual se puede separar o aislar partes de un problema muy complejo en pequeños problemas mas sencillos de resolver y que al unir estos procesos pequeños se pueda llegar a solucionar el problema general.

La abstracción se basa en la frase de Maquiavelo “Divide y vencerás” porque como la frase lo dice se divide o separa un problema grande en partes mas simples de solucionar

Existen 2 corrientes de abstracción o tambien llamadas flujos. Estos son Top botton y Botton top.

El primero Top botton se basa en ir de lo general a lo especifico y en este se analiza el problema desde el aspecto global o general y se va separando en probleas mas pequeños a medida que se va analizando.

El segundo Botton top es al contrario, se parte de la premisa de crear pequeñas soluciones para ir integrandolas y así resolver un problema mas grande. Esta es usada cuando no se tiene un conocimiento del problema general o cuando se parte de una idea simple que se va evolucionando para generar una mas compleja

Excelente clase, para resumirla tenemos tres puntos clave que son clase, abstracción y la forma de organizar la clase:

  1. La clase es aquel molde o modelo que será utilizado para poder crear objetos como el ejemplo de Anahí vemos un molde de estrella para crear estrellas.
  2. Respecto a la abstracción es uno de los pilares de la POO, que consiste en analizar los objetos del problema, extraer sus propiedades y comportamientos principales y crear una clase a partir de ellos.
  3. Por medio de los diagramas de UML podemos mantener una mejor presentación de la clase en tres partes: Identidad, estado y comportamiento

Clase: Son los modelos o plantillas sobre los cuales contruiremos objetos
Abstracción: Es el analisis de objetos, abstrayendo los datos para crear plantillas.

Propiedad es la caracteristica de objeto y el estado es el valor de la propiedad.

Una buena herramienta online para crear UML es esta pagina

Un ejemplo sencillo sobre la generación de objetos desde una clase (instancia).

Por la definición, siempre consideré a la abstracción como se menciona en el video, una análisis para desglosar algo, por así decirlo, no obstante, siempre me molestó que muchos profesores en mi universidad utilizaran esa palabra para definir muchas cosas, entonces me confundía, pero ya no, gracias a la confirmación! xD

Abstracción: ¿Qué es una clase?

Una vez se hayan identificado los objetos claves del problema se necesita algo que permita crear muchos objetos con diferentes valores en sus propiedades. Para esto existen las clases.

<h4>Clase</h4>

Es el modelo sobre el cual se construirá nuestro objeto. Las clases permitirán generar más objetos.
Son modelos sobre los cuales construiremos Objetos. Va de la mano con la abstracción.

<h4>Abstracción</h4>

Analizar objetos para crear clases. Para hacer una abstracción debemos analizar ese objeto, entender cuáles son sus propiedades y comportamientos y de que forma se puede hacer algo genérico que permita hacer más objetos que tengan las mismas propiedades y comportamientos.

El primer paso para la POO es el análisis para identificar los objetos y las clases para resolver el problema.
El siguiente paso es graficar, es aquí donde entra UML. Cuando ya se tiene un modelo genérico para obtener mas objetos lo siguiente es graficarlo en un diagrama UML con la siguiente estructura:

El nombre de cada clase debe ser único.

El nombre de la clase es Person, name es un atributo y walk es un comportamiento de la clase.

Haciendo un resumen:

Objeto: Son todas las cosas físicas o conceptuales que tienen propiedades(Atributos) y comportamientos(Métodos).

Clase: Es el modelo donde nuestros objetos se construyen y nos permiten generar más objetos.

**Abstracción: **Separación de los datos del objeto (propiedades y comportamientos) para generar un modelo (Clase).

Una clase es una plantilla que define la forma de un objeto; en ella se agrupan datos y métodos que operarán sobre esos datos. En java, una clase se define con la palabra reservada class.

Otro ejemplo podría ser:

identidad: Motor
Estado: rpm (revoluciones por minuto)
Comportamiento: iniciar, acelerar

Genial!! Me encantó esta clase

Abstraer, analizar un objeto y ver sus caracteristicas y comportamientos para poder hacer algo mas general que nos permita crear nuevos objetos, que compartan atributos y comportamientos

CLASES

- Modelo sobre el cual se construirá nuestro objeto

ABSTRACCIÓN

- Analizar un objeto para generar un molde

Analizando el primer pilar de la POO, la abstracción me permitirá analizar un objeto para abstraer la composición que me interesa en el contexto, ver sus propiedades y comportamientos. Ejemplo: clase Persona, si analizamos la clase Carro en dos contextos diferentes, Carro en un concesionario , Carro en una carrera, en ambos contextos, sus propiedades y comportamientos, pueden ser distintos.

CarroConcesionario


Color
Precio
TasaIntereses
Modelo
Garantia
CuotasPago


PagarCuota()

CarroCarrera


velocidad
CapacidadCombustible
Piloto


PararPits()
CambiarLLantas()

Les comparto este repositorio que sirve de guía para el examen final, pues contiene las preguntas que se encuentran en el examen, la justificación y el video del curso donde se habla sobre eso. Espero y les sea de utilidad 😄.
Platzi-Test

Una clase es la abstracción de un objeto, es un modelo donde se contruye el objeto, una clase está compuesta por atributos y métodos.

Excelente, muchas gracias anncode, que buena explicación por parte tuya.

es una buena clase aprendiendo uml .

- Los parámetros que se pasen al método constructor solo tienen alcance dentro del mismo. Fuera del método constructor no existe tal valor. Para ejemplificar se puede instanciar un Doctor pasándole el string "Juan", y luego llamar a su método showName(). El resultado será null - Para que los atributos tengan un alcance global dentro de la clase, estos son asignados con la sintaxis punto. Ejemplo: `myDoctor.name= "Anahi" ` al llamar el método showName() se muestra el nombre asignado.

La abtracción es tomar solamente lo que nos interesa de la vida real para modelar nuestras clases:
Por ejemplo:
La abstracción de un coche puede ser el conjunto de los atributos color, marca y cantidad de puertas más el comportamiento andar.

excelente clase. gracias.

excelente clase sobre clases 😃

Alguien me puede recomendar un programara para hacer diagramas de clases y UML en linux?

Super 😃 buen repaso

Muy entendible! Gracias a ti, estoy aprendiendo lo que mi maestro no me pudo enseñar

Muy buena las abstracción que se explica, para poder representar objetos del mundo real y modelar en el código con atributos y métodos

Las clases son la base de la POO sin ellas no pudieran existir los objetos ni podriamos definir ningun elemento para su desarrollo por lo cual una buena abstracion de sus propiedades y metodos nos ayudara a ser mas efectivos en su implementacion.

La Clase es el molde donde que utilizamos para descomponer el objeto en sus propiedades o atributos y sus métodos u operaciones través del análisis o abstracción.

Mediante la abstracción podemos extraer propiedades y métodos de un objeto que servirán para representar a los objetos como una clase general con sus propiedades y métodos

Los objetos son todos aquellos que tienen propiedades, características y comportamientos.

  1. Identificar cuales son los objetos de tu programa, problema.

Las clases son modelos que nos sirven para construir nuevos objetos.

  1. Debemos hacer abstracción =
    2.1 Analizar un objeto para abstraer (obtener) sus propiedades y comportamientos.
    2.2 Es un proceso mental
    2.3 Ya cuando se identificaron los componentes de ese objeto ahora toca estructurarlo para generar un molde.
    2.4 Con este molde se pueden hacer muchos más objetos que tengan las mismas características y comportamientos del objeto original.

Algo importante de la filosofía de la programación orientada a objetos es la reutilización del código.

Evitar copiar pegar código y evitar código espagueti.

Si te das cuenta de que estas copiando y pegado código es momento de analizar y pensar como puedes hacer ese mismo proceso mas genérico. (modular).

Problemas -> Objetos -> abstracción -> molde -> objetos

Excelente clase!

Las clases son el mapeado o molde para crear el objeto, y así sea mas fácil la manipulación de estos

Genial.

Clase Es un modelo creado a partir de la abstracción de información de un objeto con el fin de replicar mas objetos que compartan las mismas propiedades y comportamientos, con lo cual nos permite reutilizar el código.
De forma básica, me gusta hacer una analogía con una fábrica, por ejemplo de galletas (objeto). Primero se encargan de analizar todo las propiedades que definen a una galleta (tamaño, color, sabor, textura…), luego usan esta información para crear un molde (clase) que permita la producción de galletas en masa. dependiendo del tipo de galletas que se deseen producir van a variar los valores de las propiedades, unos serán de sabor de chocolate y otros de vainilla.

Abstracción, extraer las características clave de un objeto, sin entrar en detalles.

Objeto autobús, abstracción: motor, ruedas, acelerar(), parar(), hacerRuta().
Describimos las características esenciales ( sus propiedades-estado, y sus acciones ), sin entrar a describir como son o como se llevan a cabo.

Que clase!

Abstracción: Es el proceso de identificar las características y métodos del objeto.
Cuando pasamos esa información a código se convierte una una clase.
Una clase sera el molde o platilla que nos ayudara a crear mas objetos con las mismas características y métodos.

La clase es un modelo genérico sobre el cual podemos crear muchos objetos.Cuando creamos una clase hacemos una “ABSTRACCIÓN” del objeto.

Creo que se hace necesario separar el proceso que se hace en la vida real del código que hacemos en java.
La abstracción es un proceso mental por lo cual aún no llegamos al código, en ese proceso mental analizamos las propiedades y comportamientos de un objeto (Real o Conceptual), ABSTRAEMOS las propiedades de ese objeto, es decir, ahora sabemos las propiedades y eso nos permite generar un “molde”. Todo hasta ahora en nuestra mente y obviamente pensando en objetos.
Teniendo claro las propiedades y comportamientos en la vida real de un objeto (Real o Conceptual) ya podemos pasar al código, en este punto pasamos del proceso mental a la acción, y aquí es donde comenzamos con el “molde” llamado Clase, la Clase ya es algo de java, de código y que veremos en el editor.
El primer paso fue hacer el proceso en la vida real en nuestra mente, aquí tenemos un objeto en la vida real así sea conceptual, el segundo paso el ir al código, y en el código veremos los objetos que se crean a partir de la Clase, estos ya son objetos de java.
En conclusión hay objetos de la vida real, los cuales analizamos y también hay objetos en el código de programación.

increíble clase

Buen aporte!

La abstracción permite que los objetos puedan interactuar, sin necesidad de conocer los detalles del funcionamiento.

Por acá les dejo un diagrama UML en el que he estado trabajando estos días

Una muy buena aplicación web para crear diagramas UML es https://www.diagrams.net/