Las clases no son Objetos.
Las clases son los moldes con los que se crean los Objetos.
Entender la Programación orientada a objetos
Programación orientada a objetos en Java
¿Qué es un Objeto?
Abstracción: ¿Qué es una Clase?
Modularidad
Definir Clases y sus componentes
Creando nuestra primera Clase
Método constructor
Static: Variables y Métodos Estáticos
Creando elementos estáticos
Final: Variables Constantes
Sobrecarga de métodos y constructores
¡Reto!
Encapsulamiento: Modificadores de acceso
Getters y Setters
Variable vs. Objeto
Variable vs. Objeto: Un vistazo a la memoria
Clases Anidadas
Clases Internas y Locales a un método
Enumerations
Reutilizar Código
¿Qué es la Herencia? Don't repeat Yourself
Super y This
Polimorfismo: Sobreescritura de Métodos
Polimorfismo: Sobreescribiendo el método toString
Interfaces
Creando una interfaz para definir si una fecha es agendable
Collections
Aplicar Abstracción
Clases Abstractas
Miembros abstractos
Clases Anónimas
Diferencias entre las Interfaces y las Clases Abstractas
Interfaces en Java 8 y 9
Herencia en interfaces
Ensamblando Objetos el proyecto
Simulando autenticación de usuarios
Modularizando la UI de Doctores
Definiendo las citas disponibles
Modularizando la UI de Pacientes
Recorriendo estructuras de árbol en Java
Agendando Citas
Cierre del curso: Continúa con Programación Funcional en Java
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Anahí Salgado Díaz de la Vega
Nuestro proyecto en este curso es construir un sistema que nos permita listar y agendar nuestras citas médicas, por lo que debemos crear algunas clases para cada integrante del sistema: doctores, pacientes, entre otras.
Así vamos a crear nuestra primer clase con sus métodos y atributos:
// Clases:
public class Doctor {
// Atributos:
int id;
String name;
String speciality;
// Comportamientos (métodos):
public void showName() {
// Instrucciones...
}
}
Declarar un Objeto:
// Tipo de Objeto ---- Nombre del Objeto
Doctor myDoctor;
// Otro objeto del mismo tipo Doctor:
Doctor anotherDoctor;
Instanciar un Objeto:
// Nombre del Objeto ---- Clase base para crear algún tipo de objetos
myDoctor = new Doctor();
// Otro objeto
anotherDoctor = new Doctor();
Declarar e instanciar un objeto en la misma línea:
// Declarar el objeto ---- Instanciar el objeto
Doctor myDoctor = new Doctor();
Utilizar el objeto:
// Declarar el objeto ---- Instanciar el objeto
Doctor myDoctor = new Doctor();
myDoctor.name = "Anahí Salgado";
myDoctor.showName();
Aportes 103
Preguntas 22
Las clases no son Objetos.
Las clases son los moldes con los que se crean los Objetos.
👇 APUNTES DE LA CLASE
La forma tan didáctica como lo explica, hace que java se divertido.
Genial!! Ojalá me lo hubieran enseñado así en la universidad
Una clase, son los planos para construir un objeto. Por otro lado, ¿Unos planos pueden ser una casa? no. Ahí radica la diferencia.
📑 Los objetos se crean o instancian a partir de los modelos o plantillas denominadas como clases.
Adoro los cursos de Anahi, antes tenia relativo miedo a la POO, sin embargo tiene una excelente manera de explicar haciendolo tan sencillo como respirar.
Mamá mirame, soy famoso 😄
No se si lo notaron en el video, pero en IntelliJ tienes a tu disposición varios shortcodes para trabajar de forma más ágil con Java.
Algunos que son muy útiles y que si se los aprenden los van a usar un montón son:
sout + Tab = System.out.println();
main + Tab = public static void main(String[] args) { }
fori + Tab = for (int i = 0; i < ; i++) { }
forof + Tab =
Si conocer más shortcodes compártelos respondiendo a este comentario así los tenemos todos agrupados en un sólo aporte
Let’s code! 🤓💻
Recientemente cambié mi distro a Fedora, así que regrese a comentarles el inconveniente que estaba teniendo para evitar que pierdan todo el tiempo que yo perdí.
Cuando estaba creando mis proyectos el Intellij idea no reconocía mi carpeta con el JDK los cuales había instalado desde el controlador de paquetes DNF resulta que Intellij espera el arbol de archivos completo y no solo los binarios que se descargan desde el repositorio DNF la solucion es descargar los archivos directamente desde la web.
https://adoptium.net/
En esta clase, lo principal a resaltar es cual es la sintaxis para crear un objeto a partir de una clase creada(Doctor), vemos como se le da un nombre al objeto y la palabra reservada new se asigna variable tipo objeto, en ese momento el objeto cobra vida en la memoria del computador
Doctor -> nombre de clase
myDoctor -> nombre de la variable tipo objeto
new -> palabra reservada para la creación o instanciación del objeto.
Doctor() -> Metodo constructor
Muy claro, eres muy buena explicando. Gracias
Vengo del futuro o de la clase 37 y les recomiendo descargar el proyecto de esta clase y seguir con el desarrollo del curso.
No se los demas pero se me hace bastante redundante este código: Doctor myDoctor = new Doctor(); si con la palabra Doctor ya se debería crear el objeto, para qué colocar el “new Doctor();”?
Lista de Algunos Atajos si tienes Windows:
Las clases son un model que se utiliza para hacer galletas :0
Para los que les apetezca tomar la clase en Eclipse iré subiendo mi código, hay pequeños detalles que Intellij deja atrás, pero con Eclipse se puede trabajar igual de bien
Jerarquía del repositorio
Clase Main.java
package mymedicalappointment;
import objetos.Doctor;
public class Main {
public static void main(String[] args) {
Doctor doctor = new Doctor();
doctor.name = "Hugo";
doctor.showName();
}
}
Clase Doctor.java
package objetos;
public class Doctor {
// Estado
public int id;
public String name;
public String specialty;
// Comportamiento
public void showName() {
System.out.println(name);
}
}
Cualquier duda háganmela saber, estamos para ayudarnos entre todos. 💚 #NuncaParesDeAprender
los objetos son instancias de nuestras clases
Las clases son clases, los objetos son objetos. Duh!!
Realmente buena esta clase, nunca había entendido bien la manera de instanciar los objetos, me ha gustado mucho!!!
La unica en este mundo que no aburre cuando explica JAVA. te amo, ojala des mas y mas cursos!!
Todos se quejan de la sintaxis de Java, pero hasta JS se dio cuenta que ese es el camino, por eso existe TypeScript…con Java nos ahorramos ese trabajo y entender estos conceptos hace que migrar para otro lenguaje o framework sea muchisimo más fácil
Es la fecha no puedo aprender a programar no mas no se me hace miro y miro cursos de java y no mas no espero entender en este … saludos … Gracias!!
public class Doctor { //es es una Clase -> la close es diferende a un objeto
int id;
String name;
String speciality;
//Comportamientos
/* void = ningun valor de retorno*/
public void showName(){
System.out.println(name);
}
}```
public class Main {
public static void main(String[] args) {
//ESTAMOS USANDO MODULARIDAD
Doctor myDoctor = new Doctor(); //instanciando la clase DOCTOR
myDoctor.name="Diego Lipa";
myDoctor.showName();
}
}
Mis apuntes de la Clase:
Creando nuestra primera Clase
Crear una Clase en Java
public class Doctor { // Doctor → Nombre de la Clase
// Atributos
int id;
String name;
String speciality;
// Métodos
public void showName() {
System.out.println(name);
}
}
Instanciar un Objeto en Java
Doctor
→ Tipo de Objeto myDoctor
→ Nombre de la instancia del Objeto new Doctor();
→ Crea la instancia del Objeto
Doctor myDoctor = new Doctor();
myDoctor.name = "Alejandro López"; // Asignar un valor a un atributo
myDoctor.showname(); // Llamar a un método
una muy buena y sencilla explicación
Instanciar el objeto para que cobre vida (ocupe espacio en memoria)
Estupenda clase en donde vemos los pasos a seguir para iniciar un proyecto enfocado en la programación orientada a objetos, muchas gracias por compartirla instructora Anahí y al equipo de Platzi.
A programar se ha dicho 👨💻
Para correr Ctrl+Mayus+F10
Excelente clase, un semestre perdido por no saber esto. xD
A mi doctor le asigné el nombre de “Pedro Páramo”. Referencias.
Esta clase me dejo confundida
para los que les marque error al poner Main solo cambienle el nombre
public class MiClase {
// Variables de instancia
private int miVariable;
// Constructor
public MiClase(int valor) {
miVariable = valor;
}
// Método
public void miMetodo() {
System.out.println("Mi método fue llamado");
}
// Método getter
public int getMiVariable() {
return miVariable;
}
// Método setter
public void setMiVariable(int valor) {
miVariable = valor;
}
}
Para utilizar esta clase en tu programa principal, puedes hacer lo siguiente:
java
public class ProgramaPrincipal {
public static void main(String[] args) {
MiClase miObjeto = new MiClase(10); // Crear un objeto de la clase
int valor = miObjeto.getMiVariable(); // Obtener el valor de miVariable
System.out.println("El valor de miVariable es: " + valor);
miObjeto.miMetodo(); // Llamar al método miMetodo
miObjeto.setMiVariable(20); // Establecer un nuevo valor para miVariable
valor = miObjeto.getMiVariable(); // Obtener el nuevo valor de miVariable
System.out.println("El nuevo valor de miVariable es: " + valor);
}
}
Gracias por la explicación !
este curso va mucho más allá que el basico (lo cual es lógico) pero no lo esperaba tan así y me está sorprendiendo gratamente! 😁
las clases, son la instancia de los objetos ☕
NAda de lo que ponen en la clase me sirve
gracias x el aporte
Genial forma de explicar la forma de crear objetos
ya quiero empezar a programaaar
Alguien podría explicarme por que no es necesario IMPORTAR para poder declarar ?
Exclente Clase!!
Gracias Anahí !!
e
public class Doctor {
int id;
String name;
String speciality;
//comportamiento
public void showName(){
System.out.println(name);
}
}
public class Main {
public static void main(String[] args) {
Doctor myDoctor = new Doctor();
myDoctor.name = " Alejandro Rodriguez";
myDoctor.showName();
}
}
La profe explica super bien
😄 <Speciality> 😄
Hola esta es mi aporte! 😁
un objeto para crearlo en programación sale de la utilización de una clase, pero este objeto será único, la clase sale de la abstracción de un objeto pero la clase será general, el objeto es particular.
Excelente tutorial para sumergirse en POO en Java
Que IDE me recomiendan más, intelliJ o Netbeans?
Una clase es una plantilla. Es la base sobre la cuál se crea un objeto. Siempre la entendí como eso, como una “plantilla” o “molde”
Los Clases son los modelos o plantillas que nos van a servir para instanciar (crear objectos) un clase.
En mi caso no me salía el atributo al momento de instancia la clase : me toco dejar en publico, las variables para poder accederlas desde otras clases
Yo les recomiendo que usen Eclipse como entorno de trabajo. Es muy bueno también 😃
a programar!!!
Time to work!!!
En una clase puedo declarar los ingredientes de mi pastel (variables -Atributos-) y con un | Public void nombreMetodo();{} | puedo crear un método. Para poder acceder a esta clase debo instanciar (crear un objeto a partir de una clase), si mi clase se llama Doctor puedo creo un objeto de la siguiente forma (Doctor myDoctor = new Doctor(); ) de esta forma myDoctor es como un mensajero que se comunica con la clase doctor para obtener los métodos y atributos propios de esta clase.
El metodo de showname podria ahorrarse redefiniendo el ToString
Vamos a aprender Java POO
Muy buena explicación de como crear una clase
public class Doctor {
int id = 0;
String name = "No name";
String speciality = "xxxx";
/**
* Descripcion: Imprime el nombre del Doctor
* */
public void showName(){
System.out.println("Name: "+name);
}
}
gracias por la explicacion , dijiste que explicarias los () del objeto instanciado y no lo hizo 😦
Genial que se hable de las buenas prácticas de programación!
Buena clase 😃
Bravo! Tremenda lección!!
Reconozco que al principio me enrede, pero ya despues con tu explicacion en codigo entendi mejor. Sigamos
No se preocupen, la segunda clase de Doctor.java no se utilizo al hacer la instancia de myDoctor, del objeto.
Empezamos a darle vida a nuestros objetos e implementamos sus propiedades y metodos. De aqui en adelante se pondra bueno.
Siempre es bueno repasar 😃
Todo muy claro 😁️
Excelente!!
La clase en la plantilla para generar objetos (General) y el objeto es el que tendrá características especificas.
En resumen:
Una clase es solo un marco que establece las características(atributos) que tiene un objeto y las cosas que este puede hacer (metodos).
Pues el objeto en si es el producto de una clase y es por eso que podemos tener “n” cantidad de objetos de una misma clase.
Un objeto es el que podemos identificar por sus atributos y métodos, y la clase es la abstracción en si de estos objetos.
muy buena explicación
public static void main(String[] args) {
Dogs myDogs = new Dogs();
myDogs.raza="labarador";
myDogs.color="Piel";
myDogs.edad=15;
myDogs.nombre="Kamaru";
myDogs.sexo="Masculino";
myDogs.imprimirObjeto();
}
Objeto creado en la clase Dogs:
public class Dogs {
String raza;
String nombre;
int edad;
String color;
String sexo;
public void imprimirObjeto() {
System.out.println(nombre);
System.out.println(edad);
System.out.println(color);
System.out.println(sexo);
}
}
buena clase se entendió el manejo de clases y de atributos
Creando nuestra primera clase
El proyecto de este curso será un sistema para agendar citas médicas y además ver las citas que ya están agendadas.
<h4>Declarando un objeto</h4>De esta forma se crea un objeto a partir de la clase Doctor, un objeto creado a partir de una clase se conoce también como una instancia de dicha clase.
Para darle al objeto myDoctor los atributos y comportamientos se usa la palabra new, que es lo que hace que el objeto “cobre vida” en la memoria del computador, en ese momento ocurre la instancia.
También se puede hacer en una sola instrucción:
Una vez creada la instancia de la clase Doctor ahora es posible darle un valor a sus atributos y usar sus comportamientos accediendo a ellos mediante la instancia (myDoctor)
Excelente y sencilla la forma de explicar las clases Anahi.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?