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 218
Preguntas 18
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
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;
}
}
🐱💻 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');
}
Que lindo es python. Menos caracteres, sin punto y coma, sin new. Un lenguaje hecho con amor.
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…
Cuando dijo “driver 2” me hiso acordar del juego de play station XD
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
Hubiera tomado este curso antes, no hubiera tronado en una clase de la U. Excelente.
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.
Java y C# son muy parecidos en muchísimos aspectos, o es mi impresión
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
Estudiare para entrar a Globant y casarme con anncode
Que interesante que JavaScript y Java tengan similitudes no solo en el nombre, sino también en la forma de definir los métodos constructores para su clase. Me gusta cuando ocurre eso.
Personalmente yo pienso que tratar de habarcar varios lenguajes a la vez no es practico, sino confunso, porque, es como un dicho que tenemos en México, de querer darle gusto a todos te quedas sin nada.
Pero me agrada como la porfesora lo hace.
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
Interesante la perspectiva de cada lenguaje…
Método constructor
En el curso de pro Basica
en Js también lo hicimos asi:
class Mokepon {
constructor(name){
this.name = name
}
}
Les comparto algo que me ayudo a entender sobre los metodos constructores.
class Persona {
constructor(nombre, edad) {
this.nombre = nombre;
this.edad = edad;
}
En este codigo estamos creando con class la clase (podemos remplazarlo con function) creamos la clase persona. Con la palabra clave contructor le damos atributos que seran obligatorios al crear un instar un objeto en esta clase.
Luego despues del contructor creamos como tal los atributos
luego en este codigo
let persona1 = new Persona("Juan", 25);
console.log(persona1.nombre); // Output: Juan
console.log(persona1.edad); // Output: 25
Creamos el objeto dentro la clase Persona y le damos los datos obligatorios.
objeto --> instancia de una clase
metodo constructor --> dar un estado inicial al objeto, tienen el mismo nombre de la clase y recibe parametros minimos que necesita el objeto para vivir
Un objeto es una instancia de la clase.
En Java, la sintaxis para crear un objeto es la siguiente:
Clase nombreObjeto = new Clase();
El método constructor en Java tiene el mismo nombre que la clase y se utiliza para inicializar los valores de los atributos de la clase. A continuación se muestra un ejemplo de cómo se vería la clase Person con su constructor en Java:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Para crear un objeto de la clase Person en Java, podemos hacer lo siguiente:
Person person = new Person("John", 25);
En Python, la sintaxis para crear un objeto es la siguiente:
nombre_objeto = Clase()
El método constructor en Python se llama __init__
y se utiliza para inicializar los valores de los atributos de la clase. A continuación se muestra un ejemplo de cómo se vería la clase Person con su constructor en Python:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
Para crear un objeto de la clase Person en Python, podemos hacer lo siguiente:
person = Person("John", 25)
En JavaScript, podemos crear un objeto utilizando la siguiente sintaxis:
var nombreObjeto = {
atributo1: valor1,
atributo2: valor2,
//...
};
El método constructor en JavaScript se llama constructor
y se utiliza para inicializar los valores de los atributos de la clase. A continuación se muestra un ejemplo de cómo se vería la clase Person con su constructor en JavaScript:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
Para crear un objeto de la clase Person en JavaScript, podemos hacer lo siguiente:
var person = new Person("John", 25);
En PHP, la sintaxis para crear un objeto es la siguiente:
$nombre_objeto = new Clase();
El método constructor en PHP se llama __construct
y se utiliza para inicializar los valores de los atributos de la clase. A continuación se muestra un ejemplo de cómo se vería la clase Person con su constructor en PHP:
class Person {
private $name;
private $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
Para crear un objeto de la clase Person en PHP, podemos hacer lo siguiente:
$person = new Person("John", 25);
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
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?