Definiendo Clases en JavaScript

20/37

Lectura

Si estás interesado en aprender JavaScript desde ahora debes saber que el concepto de clases no existía como tal hasta el nuevo estándar EcmaScript 6. El reto de encontrar sistemas construidos con este estándar es alto por esa razón te explicaré cuál fue por mucho tiempo su equivalente.

Los Prototipos fue la forma de crear clases en JavaScript y las representaremos partiendo de la declaración de una función.

Creemos nuestras clases:

  • Account
  • Car
  • Payment
  • Route

Para esto crearemos el siguiente sistema de archivos dentro de la carpeta JS de nuestro proyecto:

  • Account.js
  • Car.js
  • Payment.js
  • Route.js
  • index.js

El archivo index.js será el lugar equivalente al punto de entrada de la aplicación donde estaremos declarando nuestros objetos basado en las clases. Para esta clase lo dejaremos en blanco.

Ahora veamos el código archivo por archivo:

Account.js

Captura de pantalla 2019-01-13 a la(s) 2.56.24.png

Car.js

Captura de pantalla 2019-01-13 a la(s) 2.56.34.png

Payment.js

Captura de pantalla 2019-01-13 a la(s) 2.56.41.png

Route.js

Captura de pantalla 2019-01-13 a la(s) 2.56.56.png

Este es el enlace del código del proyecto: https://github.com/anncode1/Curso-POO-Platzi/tree/f5725787165b36cae579f94e428068039b554b0b/JS

En este código notarás el uso de la palabra reservada this. Normalmente cuando usamos la sintaxis punto siempre lo haremos a partir de un objeto instanciado, en este caso con this, se hace una simulación al objeto en cuestión, a pesar de que en ese momento visualmente sigue siendo una clase.

Captura de pantalla 2019-01-13 a la(s) 2.56.56.png

Digamos que se adelanta un poco al momento de ejecución y visualiza al objeto con sus atributos, más adelante verás la forma en que podemos asignar datos a un atributo del objeto en otros lenguajes y verás que es exactamente la misma sintaxis.

Si intentaramos poner this. en el momento de ejecución nos traería un listado de todos los componentes de la clase que en este caso son solo estos tres: id, init y end.

This hace referencia al objeto instanciado. Para comprender del todo esta última frase mira la siguiente clase donde hablamos de objetos.

Reto.

En la carpeta de nuestro proyecto PHP declara estas mismas clases: Puedes utilizar esta clase de apoyo: https://platzi.com/clases/1338-php/12929-programacion-orientada-a-objetos1172/
Inténtalo y compártenos tus resultados, compáralos con tus compañeros.

Aportes 595

Preguntas 13

Ordenar por:

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

Account.php
CODIGO
<?php
class Account {
public $id = integer;
public $name = string;
public $document = string;
public $email = string;
public $password = string;
}

Car.php
CODIGO
<?php
class Car {
public $id = integer;
public $license = string;
public $driver = string;
public $passengers = integer;
}

Payment.php
CODIGO
<?php
class Payment {
public $id = integer;
}

Route.php
CODIGO
<?php
public $id = integer;
public $start = float;
public $end = float;
}

Hola esta es la estructura de archivos:

Y esta la forma como cree las clases en cada archivo respecticvamente:

17. Mis apuntes sobre: “Definiendo clases en JavaScript”

En este caso no estoy de acuerdo, hay manera de declarar clases en JavaScript, y lo comparto en código:

Account.js

class Account{
    constructor()
    {
        this.id;
        this.name;
        this.document;
        this.email;
        this.password;
    }
}

'
'
Car.js

class Car{
    constructor(){
        this.id;
        this.license;
        this.driver;
        this.passenger;
    }
}

'
'
Payment.js

class Payment{
    constructor(){
        this.id;
    }
}

'
'
Route.js

class Route{
    constructor(){
        this.id;
        this.start;
        this.end;   
    }
}

'
'
Ahora respecto a PHP, comparto el código lo pude hacer:
account.php

<?php
class Account{
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;    
}

'
'
car.php

<?php
class Car{
    public $id;
    public $license;
    public $driver;
    public $passenger;
}

'
'
payment.php

<?php
class Payment {
    public $id;    
}



}route.php

<?php
class Route {
    public $id;
    public $start;
    public $end;   
}

💙 Definición de las clases en el lenguaje de programación Dart.

class Account {
  int id;
  String name;
  String document;
  String email;
  String password;
}
class Car {
    int id;
    String license;
    String driver;
    int passenger;
}
class Payment {
    int id;
}
class Route {
    int id;
    List<double> start;
    List<double> end;
}

Listo. Me gusto mucho el ejercicio. Por cierto aprendí de los otros que a los atributos “init” y “end” tocaba iniciarlos como array(). ¡Gracias!

Account.php

<?php
    class Account {
        public $id;
        public $name;
        public $document;
        public $email;
        public $password;
    }
?>

Car.php

<?php
    class Car{
        public $id;
        public $license;
        public $driver;
        public $passenger;
    }
?>

Payment.php

<?php
    class Payment{
        public $id;
    }
?>

Route.php

<?php
    class Route{
        public $id;
        public $init;
        public $end;
    }
?>

Para sacar las fotos asi descarguen la extension CodeSnap en Visual Studio code 😃

A partir de ecmascript 6 se implemento el uso de clases eso sin dejar de lado los prototipos. Simplement se uso para mejor comprensión y uso de POO.

class Account{
    constructor(id,name,document,email,password){
        this.id = id;
        this.name = name;
        this.document = document;
        this.email = email;
        this.password = password;
    }
}

Por otra parte PHP en su versión 8 se puede dejara de instanciar los atributos como se ha venido haciendo y se pueden usar desde el constructor de manera muy parecida al ejemplo colocado con javascript. Esto permite ahorrar lineas de código.

class Account {
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;
}

Account.php

<?php
class Account {
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;
}
>?

Car.php

<?php
class Car {
    public $id;
    public $license;
    public $driver;
    public $passenger;
}
?>

index.php

<?php
    echo 'Hola Mundo';
?>

Payment.php

<?php
class Payment {
    public $id;
}
?>

Route.php

<?php
class Route {
    public $id;
    public $init= [
        'longitude' => '',
        'latitude' => ''
    ];
    public $end= [
        'longitude' => '',
        'latitude' => ''
    ];
}
?>

<?php

class Account {
$public id;
$public name;
$public email;
$public password;
}

Listo, comparto mi resultado

Una aclaracion para todos PHP es un lenguaje de programación diseñado para la web que es de tipado dinamico. esto quiere decir que a la hora de declarar una variable no es necesario colocar el tipo de dato de esa variable como en java o C#. PHP hasta donde yo se es interpretado lo que quiere decir que se ejecuta linea por linea y no creando un byte code. Si quieren profundizar mas en PHP el framework Laravel es una buena opcion

Hola, compañeros.
Estoy tomando el curso para aplicarlo en JS y lo de las clases lo intenté aplicar con EcmaScript 6. Lo hice así, si es que en algo está mal o puede mejorar espero que me lo puedan comentar.
Gracias ❤️

class Route{
    constructor(id,init,end){
        this.id = id;
        this.init = init;
        this.end = end;
    }
}
class Payment{
    constructor(id){
        this.id = id;
    }
}
class Car{
    constructor(id,license,driver,passenger){
        this.id = id;
        this.license = license;
        this.driver = driver;
        this.passenger = passenger;
    }
}
class Account{
    constructor(id,name,document,email,password){
        this.id = id;
        this.name = name;
        this.document = document;
        this.email = email;
        this.password = password;
    }
}

Para los que no sabemos qué es ECMAScript, les dejo el siguiente artículo: https://openwebinars.net/blog/que-es-ecmascript/

<?php
class Account
{
public $id;
public $name;
public $document;
public $email;
public $password;
}

class car
{
public $id;
public $license;
public $driver;
public $passenger;
}

class Payment
{
public $id;
}

class Route
{
public $id;
public $init;
public $end;
}
?>

<?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 Route
{
    public $id;
    public $start = array();
    public $end = array();
}```

Bueeeno, aquí está el reto. 😄

<h1>Account.php</h1>
<?php
class Account {
  public $id;
  public $document;
  public $name;
  public $email;
  public $password;
}
?>
<h1>Car.php</h1>
<?php
class Car {
  public $id;
  public $license;
  public $driver;
  public $passengers;
}
?>
<h1>Payment.php</h1>
<?php
class Payment {
  public $id;
}
?>
<h1>Route.php</h1>
<?php
class Route {
  public $id;
  public $init;
  public $end;
}
?>

No sé qué tan malo sea pero así compilé el código en la terminal de mac:

php nombreArchivo.php

<?php
class Account {
public $id;
public $name;
public $document;
public $email;
public $password;

}
?>

<?php
class Car {
public $id;
public $license;
public $driver;
public $passengeger;

}
?>

<?php
class Payment {
public $id;

}
?>

<?php
class Route {
public $id;
public $start = array();
public $end = array();

}
?>

Para complementar, desde ECMAScript 6 (ECMAScript 2015) se pueden usar clases

https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Classes

Account.js

class Account {
  constructor() {
    this.id = 0;
    this.name = '';
    this.document = '';
    this.email = '';
    this.passwrord = '';
  }
}

¿que tal se ve en c++?

Lo unico que no se muy bien es porque me tira el error en la palabra Account en la linea 2. Si alguien lo sabe le agradeceria que me comente por que es. Saludos!

Account

<?php

class Account{
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;
}

Car.php

<?php

class Car{
    public $id;
    public $license;
    public $driver;
    public $passengenger;
}
?>

Payment.php

<?php

class Payment{
    public $id;
}

?>

Route.php

<?php 

class Route{
    public $id;
    public $start;
    public $end;
}
?>

Clases en javaScript 2022

Bueno, volvi luego de hacer un curso basico de PHP.

El link que pusieron para php no sirve, envia a un curso completo de pho, a menos claro que la intencion sea mandarnos a hacer este curso completo, en lugar de como usar las class.

Código
<?php
class Account {
public $id = integer;
public $name = string;
public $document = string;
public $email = string;
public $password = string;
}
Car.Php
Código
<?php
class Car {
public $id = integer;
public $license = string;
public $driver = string;
public $passengers = integer;
}
	Payment.php
Código
<?php
class Payment {
public $id = integer;
}
Route.php
Código
<?php
Class Route {
public $id = integer;
public $start = Array();
public $end = Array();
}

Hola comunidad
comparto las classes en PHP

<?php

class Account{
    public $id;
    public $name;
    public $document;
    public $email;
    private $password;
} 
<?php

class Car {
    public $id;
    public $license;
    public $driver;
    public $passengers;
}
<?php

class Payment {
    public $id;
}
<?php

class Route {
    public $id;
    public $init = [];
    public $end = [];
}

<?php
class Account {
public $id;
public $name="";
public $document="";
public $email="";
public $password="";
}
?>

<?php
class Car {
public $id;
public $license="";
public $driver="";
public $passegenger;
}
?>

<?php
class Payment {
public $id;
}
?>

<?php
class Route {
public $id;
public $start=array();
public $end= array();
}
?>

Reto resuelto:

class Account {
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;
}
class Car {
    public $id;
    public $license;
    public $driver;
    public $passenger;
}
class Payment {
    public $id;
}
class Route {
    public $id;
    public $start = Array();
    public $end = Array();
}

Sistema de archivos:

Account.php
<?php
class Account {
public $id;
public $name;
public $document;
public $email;
public $password;
}
?>
Car.php
<?php
class Car{
public $id;
public $license;
public $driver;
public $passenger;
}
?>
Payment.php
<?php
public $id;
?>
Route.php
<?php
public $id;
public $init;
public $end;
?>

Aqui mi aporte 👾


<?php
class Account
{
public $id;
public $name;
public $document;
public $email;
public $password;
}

class Car
{
public $id;
public $license;
public $driver;
public $passenger;
}

class Payment
{
public $id;
}

class Route
{
public $id;
public $start;
public $end;
}

Buenas tardes, este es mi aporte, noto que la mayoria no declaro el tipo de las variables, hay error en eso?

Para la clase Car

Código para la clase Route en PHP

Hola compañeros, les comparto mi repositorio con el código del proyecto: https://github.com/karen-lopez/OOPUber

Hola a todos, les comparto mi código:
Éxito a todos

class Account {
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;
}

class Car {
    public $id;
    public $license;
    public $driver;
    public $passenger;
}

class Payment {
    public $id;
}

class Route {
    public $id;
    public $start;
    public $end;
}

Les comparto las clases en PHP

<?php

class Account {
    public $id;
    public $name;
    public $email;
    public $password;
}
?>
<?php

class Car {
    public $id;
    public $license;
    public $driver;
    public $passengers;
}
?>
<?php

class Payment {
    public $id;
}

?>
<?php

class Route {
    public $id;
    public $start;
    public $end;
}

?>

<? php
class Account{
public $id;
public $name;
public $document;
public $email;
public $password;
}

<? php
class Car{
public $id;
public $license;
public $driver;
public $passengenger;
}

<? php
class Payment{
public $id;
}

<? php
class Route{
public $id;
public $star = [];
public $end = [];
}

PHP es muy extraño, no?

class Account {
public $id;
public $name;
public $document;
public $email;
public $password;
}

class Car {
public $id;
public $license;
public $driver;
public $passenger;
}

class Payment {
public $id;
}

class Route() {
public $id;
public $start;
public $end;
}

Duda.
Siempre usamos archivos adicionales:
Java --> Main . java
Pythton --> main . py
JS --> index . js

Imagino que en PH P será algo parecido, digo, un archivo inde . php.

<?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 Route {
public $id;
public $start = [];
public $end = [];
}
?>

Account.php

<?php

class Accouunt {
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;
}
?>

Car.php

<?php

class Car {
  public $id;
  public $licence;
  public $driver;
  public $passengers; 
}
?>

Payment.php

<?php

class Payment{
  public $id;
}
?>

Route.php

<?php

classRoute{
  public $id;
  public $start = [];
  public $end = [];
}
?>

Busque informacion para las clases, espero les sirva https://www.php.net/manual/es/language.oop5.basic.php

<?php

class Route{
    public $id;
    public $start = [];
    public $end = [];
}

<?php

class Account{
    public $id;
    public $name;
    public $email;
    public $password;
}

<?php

class Car{
    public $id;
    public $license;
    public $driver;
    public $passenger;
}

Account

class Account {
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;
}

Car

class Car {
    public $id;
    public $license;
    public $driver;
    public $passenger;
}

Payment

class Payment {
    public $id;
}

Route

class Route {
    public $id;
    public $init;
    public $end;
}

Se crea el archivo Account.php y se escribe la clase

<?php
    class Account {
        public $id;
        public $name;
        public $document;
        public $email;
        public $password;
    }
?>

Se crea el archivo Car.php y se escribe la clase

<?php
    class Car {
        public $id;
        public $license;
        public $driver;
        public $passenger;
    }
?>

Se crea el archivo Payment.php y se escribe la clase

<?php
    class Payment {
        public $id;        
    }
?>

Se crea el archivo Route.php y se escribe la clase

<?php
    class Route {
        public $id;
        public $init;
        public $end;
    }
?>

<?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 Route{
public $id;
public $start;
public $end;
}
?>

<?php

class Account{
public $id;
public $name;
public $email;
public $document;
public $password;

}

<?php

class Car{
public $id;
public $license;
public $driver;
public $passenger;
}

<?php

class Payment {
public $id;
}

<?php

class Route {
public $id;
public $start;
public $end;
}

<?php
class Route{
    public $id;
    public $star=array();
    public $end=array();
}```
<h1>ACCOUNT</h1>

class Account {
public $Id;
public $name;
public $document;
public $email;
public $password;
}

<h1>CAR</h1>

class Car {
public $Id;
public $license;
public $driver;
public $passenger;

}

<h1>PAYMENT</h1>

class Payment {
public $Id;
}

<h1>ROUTE</h1>

class Route {
public $Id;
public $init;
public $end;

}

Yo estoy realizando el proyecto con los nombres en español.

<?php

class Cuenta{
public $id;
public $nombre;
public $documento;
public $email;
public $password;
}

<?php
class Account
{
public $id;
public $name;
public $document;
public $email;
public $password;
}

class car
{
public $id;
public $license;
public $driver;
public $passenger;
}

class Payment
{
public $id;
}

class Route
{
public $id;
public $init;
public $end;
}
?>

<?php
class Account{

public $id;
public $name;
public $document;
public $email;
public password;

}

class Car {

public $id;
public $license;
public $driver;
public $passenger;

}
class Payment{

    public $id;


}

class Route {

public $id;
public $init;
public $end;

}
?>

Este es mi sistema de archivos después de la clase.

Hay aalguna forma de editar los post?

<?php 

class Account {
    protected $id;
    protected $name;
    protected $document;
    protected $email;
    protected $password;
}

?>
<?php 

class Car {
    protected $id;
    protected $licence;
    protected $driver;
    protected $passengers;
}

?>
<?php 

class Route {
    protected $id;
    protected $start = [];
    protected $end = [];
}

?>
<?php 
class Payment {
    protected $id;
}

?>

class Account{
public $id;
public $name;
public $document;
public $email;
public $password;
}
class Car{
public $id;
public $licence;
public $driver;
public $passegenger;
}
class Payment{
public $id;
}
class Route{
public $id;
public $strart;
public $end;
}

Clase account

Clase Car

Clase Payment

Clase Route

Estás son las clases, aunque no supe qué escribir en el main.php

Para los que quieran instalar PHP en su pc aca les dejo un https://www.youtube.com/watch?v=LHO-FAUa4bc

![](

Clases en PHP:

<?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 Route
{
    public $id;
    public $start = array();
    public $end = array();
}

Y un archivo vacío llamado index.php…

account.php
<?php
class Account {
public $id;
public $name;
public $document;
public $email;
public $password;
}
?>
car.php
<?php
class Car {
public $id;
public $license;
public $driver;
public $passenger;
}
?>
payment.php
<?php
class Payment{
public $id;
}
?>
route.php
<?php
class Route{
public $id;
public $init;
public $end;
}
?>

Si están usando visual studio code pueden incluir en la configuración su propio código para auto-completar por ejemplo para cuando escriban la palabra php el editor le sugiera completar la estructura para iniciar un archivo php y así cualquier ejemplo que se les ocurra
.
Para hacer esto se van hasta la pestaña file (archivo) después clickean preferences (preferencia) y después
user snippets (código de usuario)
.
Seguidamente le dan click en la opción que les saldrá en una barra de búsqueda llamada html.json
.
Les saldra un archivo explicativo y dentro de las dos llaves principales y al final de ese código escriben lo siguiente:

"php": {
		    "prefix": "php",
		    "body": [
			          "<?php $1 ?>"
		    ],
		    "description": "php tag"
}

Account.php

<?php

class Account
{
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;
}

Car.php

<?php

class Car
{
    public $id;
    public $license;
    public $driver;
    public $passenger;
}

Payment.php

<?php

class Payment
{
    public $id;
}

Route.php

<?php

class Route
{
    public $id;
    public $start = [];
    public $end = [];
}

<?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 Route {
public $id;
public $start;
public $end;
}
?>

<?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 Route{
public $id;
public $star = array();
public $end = array();
}
?>

<?php
class Account{
     $id;
     $name;
     $document;
     $email;
     $password;
}
?>
<?php
     class Car{
     public $id;
     public $license;
     public $driver;
     public $passenger;
}
?>
<?php
class Payment {
     public $id;
}
?>
<?php
class Route{
     public $id;
     public $start;
     public $end;
}
?>```

![](

En account.php
<?php
class Account{
public $id;
public $name;
public $document;
public $email;
public $password;
}
?>
En car.php
<?php
class Car{
public $id;
public $license;
public $driver;
public $passenger;
}
?>
En payment.php
<?php
class Payment{
public $id;
}
?>
En route.php
<?php
Class Route{
public $id;
public $start;
public $end;
}
?>

<?php
class Account
{
Protected $id;
Protected $name;
Protected $document;
Protected $email;
Protected $password;
}

<?php
class Car
{
Protected $id;
Protected $licence;
Protected $driver;
Protected $passenger;
}

<?php
class Route
{
Protected $id;
Protected $start;
Protected $end;
}

<?php
class Payment
{
Protected $id;
}

Me gusta Mucho Python, su código es mucho mas limpio 😄

Comparto mi resultado del reto de clases en PHP:

Account:

<?php
    class Account{
        public $id;
        public $name;
        public $document;
        public $email;
        public $password;
    }
?>

Car:

<?php
    class Car{
        public $id;
        public $license;
        public $driver;
        public $passenger;
    }
?>

Route

<?php
    class Route{
        public $id;
        public $start;
        public $end;
    }
?>

Payment

<?php
    class Payment{
        public $id;
    }
?>

sigo sin poder subir imagenes desde firefox >=/

<?php

class Account {
    public $id;
    public $name;
    public $document;
    public $email;
    public $password;
}

class Card {
    public $id;
    public $license;
    public $driver;
    public $passagenger;
}

class Route {
    public $id;
    public $start;
    public $end;
}

class Payment {
    public $id;
}

// index.php

printf('Hola ppl');
<?php
    class Route{
        public $id;
        public $start;
        public $end;
    }
?>

<?php
    class Acount{
        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;
    }
?>