Me encanta que lo estén colocando en otros lenguajes.
Ustedes son geniales amo su iniciativa!
Fabuloso!
Bienvenida e Introducción
¿Por qué aprender Programación Orientada a Objetos?
¿Qué resuelve la Programación Orientada a Objetos?
Paradigma Orientado a Objetos
Lenguajes Orientados a Objetos
Instalando Visual Studio Code
Diagramas de Modelado
Qué es UML
Orientación a Objetos
Objetos
Abstracción y Clases
Modularidad
Analizando Uber en Objetos
Reto 1: identificando objetos
Programación Orientada a Objetos. Análisis
Clases en UML y su sintaxis en código
Modelando nuestros objetos Uber
¿Qué es la herencia?
Aplicando Herencia a nuestro proyecto Uber
Reto 2: analicemos un problema
Clases, Objetos y Método Constructor
Creando nuestras carpetas iniciales para el curso
Definiendo clases en Java y Python
Definiendo Clases en JavaScript
Objetos, método constructor y su sintaxis en código
Objetos. Dando vida a nuestras clases en Java y Python
Declarando un Método Constructor en Java y JavaScript
JavaScript orientado a objetos, lo más nuevo
Declarando un método constructor en Python
Herencia
Aplicando herencia en lenguaje Java y PHP
Solución del reto de herencia en PHP
Aplicando herencia en lenguaje Python y JavaScript
Otros tipos de Herencia
Reto 4
Encapsulamiento
Encapsulamiento
Encapsulando atributos en Java
Polimorfismo
Generando polimorfismo en Java
Generando polimorfismo en PHP
Cierre del curso
El Diagrama UML de Uber
Conclusiones
Bonus: Qué es la Programación Orientada a Objetos
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Los objetos nos ayudan a crear instancia de una clase, el objeto es el resultado de lo que modelamos, de los parámetros declarados y usaremos los objetos para que nuestras clases cobren vida.
Los métodos constructores dan un estado inicial al objeto y podemos añadirle algunos datos al objeto mediante estos métodos. Los atributos o elementos que pasemos a través del constructor serán los datos mínimos que necesita el objeto para que pueda vivir.
Aportes 207
Preguntas 19
Me encanta que lo estén colocando en otros lenguajes.
Ustedes son geniales amo su iniciativa!
Fabuloso!
Por lo menos Anahí transmite calma.
Es tan bonito Python y JavaScript ❤️
Un objeto es una instancia de la clase. Es decir, el objeto es el resultado de lo que modelamos o los parámetros que dejamos declarados en la clase.
Person juan = new Person();
persona = Person()
const person = new Person();
$person = new Person();
persona = Person.new()
Los Paréntesis en OPP representan métodos. Y estos métodos se escriben en mayúscula y tienen el mismo nombre de la clase, a estos se les llama método constructor.
El método constructor se encarga de dar un estado inicial al objeto. Le da una vida en memoria. Además podemos añadirles los datos al objeto a través del método constructor.
De hecho, los datos que le pasaremos a través del constructor serán los datos mínimos que necesita el objeto para que pueda vivir.
Para crear este método constructor lo hacemos:
public Person(String name){
this.name = name;
}
def __init__(self,name):
self.name = name
// A partir de ES6 el constructor se hace dentro de class, así:
class Square {
// Este es el construtor
constructor(length) {
this.name = 'Square';
}
}
public function __construct($name) {
$this->name = name;
}
class Person
attr_reader :name
# Aquí esta el constructor
def initialize(name)
@name = name
end
end
Para Ruby:
class Person
attr_reader :name
def initialize(name)
@name = name
end
end
person = Person.new('Ann Code')
puts person.name
Si tenemos instalado NodeJs en nuestro sistema operativo no hace falta ni html ni navegador. La forma de hacerlo sería la sigueinte:
Car.js
function Car (license, driver) {
this.id = null
this.license = license
this.driver = driver
this.passenger = null
}
module.exports = Car
index.js
const Car = require('./Car')
const car = new Car('AMS421', 'Andres Herrera')
console.log(car)
y para ejecutarlo vamos al termina (dentro de la carpeta JS) y ejecutamos:
node index.js
en PHP falto el signo pesos a la variable name en la asignación del constructor. Debe quedar así:
public function __construct($name){
$this->name = $name;
}
Para Go :^)
type Person struct {
name string
}
func main(){
person1 := Person{
name:"Ann",
}
}
Acaso no hay nada que Python no haga bien, mira lo sencillo que es llamar objetos
para c# se declara con una sintaxis muy parecida a la de Java
Declaración de constructor en C#
public class Account {
Integer id;
String name;
String document;
String email;
String password;
public Account() {
this.id=id;
this.name = name;
this.document = document;
this.email = email;
this.password = password;
}
}
<h1>JS</h1>
function Account(id, name, documents, email, password) {
this.id = id
this.name = name
this.documents = documents
this.email = email
this.password = password
}
<h1>PYTHON</h1>
class Account:
id= int
name = str
document = str
email = str
password = str
def __init__(self,id,name,document,email,password):
self.id=id
self.name =name
self.document =document
self.email =email
self.password =password
<h1>PHP</h1>
<?php
class Account{
public $id;
public $name;
public $document;
public $email;
public $password;
public function __construct($id,$name,$document,$email,$password){
$this-> id = $id;
$this-> name = $name;
$this-> document = $document;
$this-> email = $email;
$this-> password = $password;
}
}
?>
Los objetos son como las piezas de lego y una clase es el molde que las crea
🐱💻 Definiendo un constructor en la clase, posteriormente instanciando un objeto de la misma en Dart.
class Person {
String name;
Person({this.name});
}
void main() {
Person person = Person(name: 'Brayan');
}
Excelente ver lo facil que es crear los constructores en los diferentes lenguajes. Con java se pueden crear varios constructores segun la cantidad de parametros que le pasemos y asi podemos hacer diferentes tipos de implementaciones de los objetos.
class Car{
int id;
String license;
String driver;
int passenger;
public Car(String driver){
this.driver = driver;
}
public Car(String driver,String license,int passenger){
this.driver = driver;
this.license = license;
this.passenger = passenger;
}
}
Cuando dijo “driver 2” me hiso acordar del juego de play station XD
Yo no consideraría a PHP débilmente tipado ya que si te permite tipar algunas funciones, no tanto como Java pero si más que JavaSript jaja
Python me está dando curiosidad…
Que lindo es python. Menos caracteres, sin punto y coma, sin new. Un lenguaje hecho con amor.
Me parece que enseñar a la vez los 4 lenguajes es algo contraproducente ya que de primeras no puedes quedarte con la sintaxis de cada uno. Yo me decanto por ir centrándome en la sintaxis de java únicamente.
EXCELENTE!!!, pero… no se si ya lo tenemos que hacer o fue la pura explicación, porque aun no lo practico
https://platzi.com/blog/objetos-en-javascript/
Esta lectura puede ayudar en el tema
Declaraciôn de objeto en PHP.
Dentro de JavaScript ya no es recomendado usar var para declarar variables. Les dejo algunos recursos donde explican bien el motivo.
Declaraciôn de objeto en JavaScript.
que elegancia la de francia con python 👌🏾
Example with Ruby:
class Song
attr_accessor :name, :artist, :genre
def initialize(name:,artist:, genre:)
@name = name
@artist = artist
@genre = genre
end
def play
puts "#{self.name} is playing!"
end
def end
puts "#{self.name} is playing!"
end
def details
puts "Song details: "
puts "name: #{self.name}"
puts "artist: #{self.artist}"
puts "genre: #{self.genre}"
end
end
@resistence = Song.new(name: 'Resistance', artist: 'Excision', genre: 'dubstep')
@resistence.play
puts ""
@resistence.details
Objetos, método constructor y su sintaxis en código:
Objetos:
Un objeto es el resultado de instanciar una clase. Es decir le damos vida a la clase creando algo a partir de todo lo que está moldeado en ella.
Método constructor:
Declaraciôn de objeto en Java.
Los paréntesis en programación orientada a objetos o en programación general nos representa métodos o acciones.
Ojala todos los profesores dejaran usar libremente Python en la universidad. 😦
Lindo Chaleco
Quê son los objetos.
ya llevo programando y usando POO durante unos años, pero esta clase me hizo el click que necesitaba para entender mejor la parte de constructores
Dart
class Person {
late String name;
late int age;
late String email;
Person(this.name, this.age, this.email); //Constructor
}
Person _person = Person("John", 30, "[email protected]");
NO UTILIZAR VAR.
podemos utilizar la palabra reservada “const” para crear la instancia en javascript.
const person = new Person();
Bueno el curso ya tiene un poco de tiempo actualmente en JS la declaración de un objeto simplente sigue esta sintaxis
let objeto = {
propiedad:atributo
}
Un poco confuso al inicio por los cuatro lenguajes, pero ahí vamos haciendo el esfuerzo!
en PHP podemos poner
Person $person = new Person()
esto posible desde la versión 7.4 de PHP
Hubiera tomado este curso antes, no hubiera tronado en una clase de la U. Excelente.
Estudiare para entrar a Globant y casarme con anncode
Para **Kotlin **un objeto persona de tipo Persona sería así:
val persona : Persona = Persona()
o simplemente
val persona = Persona()
EXCELENTE CLASE:
En el lenguaje de programacion de C++, el cual tiene una velocidad impresionante y un manejo de memoria sin igual usaremos las clases de la siguiente manera :
#include<iostream>
#include<string>
using namespace std;
class Persona{
// La zona privada es de datos a los que
// no se tendra acceso excepto por metodos
private:
int age;
string name;
// Public es una zona de acceso libre
Persona(int age, string name){
//Asi se define un constructor
this->name = name;
this->age = age;
//Usando la memoria dinamica nos referimos al objeto mismo con self y ->
void saludar(){
//Este es un metodo
cout<<"Hola mi nombre es"<<this->name;
}
};
int main(){
//Asi creamos un objeto y usamos su construcotr y metodos
Persona *p1 = new Persona("Fer", 20);
p1->saludar();
return 0;
}
Esta clase es mucho mejor y más completa que la propia en el curso de Java.
Este ejemplo muestra las partes de la syntax para declarar e instanciar un objeto, lo tome del curso de
POO En JAVA
tambien de @anncode
package clases;//Name file.java
public class doctor{//Clase
public static void main(String[] args)//Comportamientos {
//A continuacion declare e instancie mi objeto
doctor myDoctor = new doctor();
// | | | |
// clase |objeto |instancia |metodo constructor();
}
}
Los objetos nos ayudan a crear instancia de una clase, el objeto es el resultado de lo que modelamos, de los parámetros declarados y usaremos los objetos para que nuestras clases cobren vida.
Java
Person person = new Person();
Python
persona = Person()
Javascript
var person = new Person();
PHP
$person = new Person();
Los métodos constructores dan un estado inicial al objeto y podemos añadirle algunos datos al objeto mediante estos métodos. Los atributos o elementos que pasemos a través del constructor serán los datos mínimos que necesita el objeto para que pueda vivir.
Java
public Person(String name){
this.name = name;
}
Python
def__init__(self, name):
self.name = name
*Javascript*
function Person(name){
this.name = name
}
*PHP*
public function __construct($name){
$this->name = name;
}
### Forma de llamar los objetos y pasarle los datos
*Java*
Person person = new Person("Andrés");
*Python*
person = Person("Andrés")
*Javascript*
var person = new Person("Andrés);
*PHP*
$person = new Person("Andrés");
Estaría bien poder descargarse las diapositivas
En JS el uso de var
es mala práctica debido al scope global que posee. Es comúnmente utilizada la palabra const
, es decir, const person = new Person();
Siempre me ha gustado Python, sin rodeos, elegante, sencillo.
Para manejar clases y objetos en Ruby se hace de la siguiente manera:
class Person
# Con este macro se crean automaticamente los metodos getter y setter de los atributos
attr_accessor :name, :age
# Metodo constructor
def initialize(new_name, new_age)
@name = new_name
@age = new_age
end
end
# Crear un objeto de la clase Person
me = Person.new("Mario", 22)
# Imprimir el objeto
puts me
objeto es el resultado de lo que tu moldeaste en tu clase
método constructor : estado inicial al objeto
A excepción de Python se usa new
Python usa ()
Un constructor es un método que se ejecuta de manera automática al instanciar un objeto de una clase. … La característica más sobresaliente de los constructores es que su nombre es el mismo que el de la clase, es decir, son métodos de la clase que se nombran igual que la clase, y que además no tienen valor de retorno.
En la POO hay 5 cosas fundamentales:
Clases: Son el molde más genérico y del cual podemos instanciar muchos objetos.
Objetos: Son creados de las clases y tienen datos y funcionalidad.
Atributos: Son las características especificas del objeto (Son las variables dentro del código)
Métodos: Son las funciones o acciones que puede hacer este objeto.
Instaciar: Es la creación de un objeto desde una clase a eso se le llama instancia o instancias.
Fuertemente tipado*
Tan bonita la profe cuando dice “pesitos” 🤩
Ejemplo del método constructor en la clase Account en C#:
class Account {
int id;
string name;
string document;
string email;
string password;
public Account(string name){
this.name = name;
}
public string getName(){
return name;
}
}
Y desde Program.cs:
Account cuenta = new Account("Gerardo");
System.Console.WriteLine(cuenta.getName());
<?php
class Account {
public $id;
public $name;
public $document;
public $email;
public $password;
}
?>
<?php
class Car {
public $id;
public $license;
public $driver;
public $passenger;
}
?>
<?php
class Payment {
public $id;
}
?>
<?php
class Account {
public $id;
public $start;
public $end;
}
?>
dentro del código de JavaScript para declarar un espacio en memoria se usa la palabra reservada “var” pero es mejor definirlos con “let” o “const” por el alcance de las variables
Muchas gracias Ann excelente explicación!!
IMPORTANTE Un objeto es una instancia de un clase, es decir el resultado del uso del molde.
Lenguaje Dart :
void main() {
Person person = new Person(1,1234,'pedro',4);
print(person);
}
class Person{
int id;
int licence;
String driver;
int passenger;
Person(this.id, this.licence, this.driver, this.passenger);
}```
¿POO o programación Funcional?
ya tuve acercamiento a POO en la universidad y terminare el curso, pero tengo una duda, ¿Cual es de los dos paradigmas es mas escalable?
Declaraciôn de objeto en Python.
$pesitos
Constructores en Java. Un Constructor es una función, método, etc, de las clases, la cual es llamada automáticamente cuando se crea un objeto
excelente
Justo tendré programación orientada a objetos como materia en unos meses
class Example {
public name:string;
private edad:number;
constructor(nombre:string, age:number) {
this.name = nombre;
this.edad = age;
};
showMyName() {
console.log(`Hola, me llamo ${this.name}`);
};
showMyAge() {
console.log(`Tengo ${this.edad}`);
}
}
let user = new Example("Ariel", 21);
user.showMyAge();
user.showMyName();
Un pequeño ejemplo en Typescript
Excelente!!
Que grande Guido van Rossum, super simple Python
¿Cómo le doy mencanta a esta clase?
literal somo creadores de vida ❤️ en porgramacion orientada a objetos
Hola compañeros! si tienen dudas sobre Tipado fuerte y débil, lean este post, ahí se darán cuenta de que también existe también Tipado estático y dinámico.
Se llama instancia a todo objeto que derive de algún otro. De esta forma, todos los objetos son instancias de algún otro, menos la clase Object que es la madre de todas.
Importante
Anahí gracias por recomendarnos el curso de PHP la verdad no me llama la atención el desarrollo web pero ese profesor enseña muuuuuuuuuy bien, me veré el curso solo por el la verdad.
me gusta estén tomando 4 lenguajes
Grandiosa clase 😄.
Información resumida de esta clase
#EstudiantesDePlatzi
Los objetos me ayudan a crear instancias de la clase
Es importante saber qué palabras son reservadas y su uso
Una característica del lenguaje Python, es que no usa la palabra reservada new
En la programación los paréntesis nos van a representar métodos y acciones
Un método constructor da un estado inicial al objeto y tiene el mismo nombre de la clase
Para que pueda vivir, debemos declararlo
Usamos ciertas líneas de código para crear los atributos y estos puedan vivir
Para cada lenguaje es similar su estructura, sin embargo, para Python es algo particular y está bien
El constructor es un método que no tiene tipo de retorno, ni siquiera void y lleva el mismo nombre de la clase, como su nombre lo indica es el encargado de garantizar que el objeto que se va a crear de determinada clase, sea instanciado o creado de la manera correcta con un estado consistente.
En la versión móvil no me aparecen los recursos de esta clase.
RESUMEN CLASE 21:
OBJETOS METODO CONSTRUCTOR
Y SU SINTAXIS EN CODIGO
I.- DECLARANDO OBJETOS
Se declara y se instancia en objeto
Java
Person person = new Person();
Python
persona = Person()
JavaScript
var person = new Person();
PHP
$person = new Person();
II.- METODO CONSTRUCTOR
Dar un estado inicial al objeto
Tiene el mismo nombre de la clase
Son los parámetros mínimos que necesita el objeto para que pueda vivir
Java
public Person(String name){
this.name = name;
}
Python
def __init__(self, name):
self.name = name
JavaScript
function Person(name) {
this.name = name
}
PHP
public function __construct($name){
$this->name = name;
}
III.- LLAMAR LOS OBJETOS
Java
Person person = new
Person(“Ann”);
Python
person = Person(“Ann”)
JavaScript
var person = new
Person(“Ann”);
PHP
$person = new Person(“Ann”);
Este video me ayudó a entender qué son los lenguajes fuertemente y débilmente tipados que menciona la profe en esta clase:
https://www.youtube.com/watch?v=uCwzikp-9xA
en el ejemplo del construtor de PHP, en la asignación se salto un $. Deberia ser
$this->name = $name;
Tiene sentido que se ponga new, supongo que debe por C para reservar memoria dependiendo del tamaño de clase.
Muy buena explicando Anahí!
Yo les aseguro mis queridos estudiantes que a partir de esta clase será una experiencia mucho mejor !animo¡
el metodo constructor :
da un estado incial al objeto
tiene el mismo nombre de las clases
son los parametros minimos que se necesitan para que el objeto tenga “vida”
¿Qué puede usar para crear nuevas instancias en Java?
Usando la palabra clave new , podemos crear instancias de una clase en Java. Recuerde que no instanciamos métodos en Java ya que los objetos son instancias de clases y no métodos. Un método es solo un comportamiento que posee la clase.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.