Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Declarando un Método Constructor en Java y JavaScript

23/37
Recursos

Aportes 182

Preguntas 62

Ordenar por:

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

Hola 👨🏽‍🚀🖐🏽, les comparto la parte de JS donde ya se permite usar “class” [ES6].



Si no te funcionó escribir html5, cambia la extensión de tu archivo index por index.htm (sin la L final).

Nota: Javascript ahora soporta clases sin prototipos 😄

Recuerden respetar el orden de los documentos de js .
Forma Correcta.
Account.js
Car.js
index.js
Forma incorrecta
index.js
Car.js
Account.js

De lujo!, en lo personal creo que para aprovechar al máximo este curso hay que tener nociones previas de los lenguajes que se usan aquí, más que nada para no estar perdidos ya que aprender a hacer lo mismo en 4 lenguajes no es un trabajo fácil para alguien que va iniciando. Tener en cuenta eso.

La profe es excelente explicando y se entiende bien los conceptos pero, soy el único que por ahí se marea un poco con tantos lenguajes? jajaja como que quiero absorber todo y voy a explotar jaja

Clases en JavaScript con ES6:

// Account.js
class Account {
  id;
  name;
  document;
  email;
  password;

  constructor(name, document) {
    this.name = name;
    this.document = document;
  }
}

// Car.js
class Car {
  id;
  license;
  driver;
  passengers;

  constructor(license, driver) {
    this.license = license;
    this.driver = driver;
  }

  printDataCar() {
    console.log(this.license);
    console.log(this.driver);
    console.log(this.driver.name);
    console.log(this.driver.document);
  }
}

// index.js
var car = new Car("ZZZ999", new Account("Camila Morales", "CAM169"));
car.passengers = 4;
car.printDataCar();

Hice todo y funciono , pero no entendi mucho sinceramente

Para aplicar test a los archivos javascript tambien puedes utilizar la consola y con node ejemplo:

// Car.js
function Car(license, driver) {
  this.id;
  this.license = license;
  this.driver = driver;
  this.passenger;
}
Car.prototype.printDataCar = function() {
  console.log(this.driver);
  console.log(this.driver.name);
  console.log(this.driver.document);
}
module.exports = Car;

// Account.js
function Account(name, document) {
  this.id;
  this.name = name;
  this.document = document;
  this.email;
  this.password;
}

module.exports = Account;

// index.js
const Car = require('./Car');
const Account = require('./Account');

const car = new Car('AMD147', new Account('Nombre Apellido', '147852369'));

console.log(car.printDataCar());

Luego en la consola:

node index.js

y esto imprimirá en consola la informacion del metodo car.printDataCar()

[JS] Me paso que me seguía mostrando el error en la consola y por más que corregí los errores seguía apareciendo:

Pasaba que se estaba ejecutando el index.js antes que las clases 😅

<script src="index.js"></script>
<script src="Car.js"></script>
<script src="Account.js"></script>

Sólo basto con dejar el index.js al último

<script src="Car.js"></script>
<script src="Account.js"></script>
<script src="index.js"></script>

🔆 Declarando un método constructor en el lenguaje Dart.

class Account {
  int id;
  String name;
  String document;
  String email;
  String password;

  Account({this.name, this.document});
}
import 'account.dart';

class Car {
    int id;
    String license;
    Account driver;
    int passenger;

    Car({this.license, this.driver});

    void printDataCar(){
      print('License: $license Driver: ${driver.name}');
    }
}
import 'account.dart';
import 'car.dart';

void main() {
	print('Hello World!');
  Car car = Car(license: 'AMQ123', driver: Account(name:  'Andres Herrera', document: '123'));
  car.passenger = 4;
  car.printDataCar();

  Car car2 = Car(license: 'QWE567', driver: Account(name: 'Andres Herrera', document: '123'));
  car2.passenger = 3;
  car2.printDataCar();
}

a los que no les sirve en .html coloquenlo en .htm como que cambio la forma de colocar la extension

se volvio confuso…

Demasiada información! Me hierve la cabeza 😃

En c#
Clase Account

using System;

namespace Uber.Clases
{
    public class Account
    {
        public int id;
        public String name;
        public String document;
        public String email;
        public String password;

        public Account(String name, String document)
        {
            this.name = name;
            this.document = document;
        }
    }
}

Clase Car

using System;


namespace Uber.Clases
{
    public class Car
    {
        public int id;
        public String license;
        public Account driver;
        public int passanger;

       
    public Car(String license, Account driver)
     {
         this.license = license;
         this.driver = driver;

     }


      public  void printDataCar()
        {
            Console.WriteLine("Licence: "+ license + "Driver "+ driver.name);
        }
    }
}

Metodo Main (program.cs)

using System;
using Uber.Clases;

namespace Uber
{
    class Program
    { 
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Car car = new Car("UTF-18", new Account(" Leandro Santiago ", "UTF-158"));
            car.passanger= 4;
            car.printDataCar();

            Console.WriteLine("Mi licencia es: "+car.license);
        }
    }
}

Es relativamente similar a java

Este curso era lo que necesitaba antes de haber iniciado la escuela de javascript :v

excelente!!

En JavaScript se mira mucho mejor usando la palabra reservada class de ES6 con su método constructor

Parece tan fácil pero no lo es 😦

En PHP

Class Account en otro archivo .php

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

    public function __construct($valorName, $valorEmail){
        $this->name=$valorName;
        $this->email=$valorEmail;
    }
}

Class Car en otro archivo .php

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

    public function __construct($addLicense, $addDriver){
        $this->license= $addLicense;
        $this->driver= $addDriver;
    }

    public function echo_License_Driver_Email(){
        echo 'La licencia es: '
        . $this->license .'<br>'
        .'El conductor es: '. $this->driver->name .'<br>'
        . 'El correo de contacto es: ' . $this->driver->email;
    }
}

Traemos las clases al index.php y las usamos
Debemos traer las clases antes de usarlas o nos dará error

<?php 
        require_once 'Account.php'; 
        require_once 'Car.php';
?>
<?php
        $bochito = new Car('LEMM-180300', new Account('Marco Antonio', '[email protected]'));
        
$bochito->echo_License_Driver_Email();
?>

//Resultado en el navegador:
/*
La licencia es: LEMM-180300
El conductor es: Marco Antonio
El correo de contacto es: [email protected]
*/

se deberia poder utilizar calidades mas bajas de 720p en el reproductor para cuando no tenemos la mejor conexion!!

Estoy súper perdido con este curso. Tendré que dejarlo. No creo que esté chido que pongan este curso en la ruta de Data Analyst si no sabemos programar en otra cosa que no sea Python, y menos si vamos empezando como es el caso de un servidor. He aprendido más de mi libro de OOP en Python que de este curso. Al final de la ruta lo completaré solo para tener todo al 100% pero le he invertido muchísimo tiempo y no logro captarle. OJO, no digo que sea malo, solo digo que si vengo trabajando con Python, sería mejor que hicieran un curso de OOP exclusivamente para Python. IMHO 😃

No comprendo como funciona la parte en la cual driver pasa a ser de tipo account y en el metodo printDataCar() esta misma variable es driver.name?

Detallo un error que me dio por las dudas que ha alguien se le replique.

Al momento de ejecutar java mediante run, aparecían dos errores en la compilación y no podía ejecutarlo.
El error es que en el archivo Route.java falto de agregar cuando explican la siguiente línea:
import java.util.ArrayList;
Nunca use Java y el error me costo encontrarlo, revisando los archivos en la sección de archivos encuentro esa diferencia, agregue la línea y todo empezó a funcionar.

Espero ayudar a alguien.
Saludos

Cada que avanzas más en el curso, definitivamente vas teniendo una mejor claridad sobre la forma en que debes codificar, es decir, cambia tu forma de pensar y de ver las cosas. Sobre todo cuando solo has trabajado en programación estructurada.

Es importante el orden de los script src, de último debe ser invocado el index.js

20. Mis apuntes sobre: “Declarando un Método Constructor en Java y JavaScript”

Les comparto el código donde ya se permite el uso de “Class” en JavaScriptS desde [ES6]:

Código Javascript

-1.Account.js

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



-2.Car.js

class Car{
    constructor(license, driver){
        this.id;
        this.license = license;
        this.driver = driver;
        this.passenger;
    }
   printDataCar(){
       console.log(this.license);
       console.log(this.driver);
       console.log(this.driver.name);
       console.log(this.driver.document);
   }
}



-3.index.js

var car = new Car("AW456", new Account("Andres Herrera", "KAD23"));
car.passenger = 4;
car.printDataCar();

'
'
Ahora el código HTML
-4.index.hmtl

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>OOP</title>
</head>
<body>
    <h1>Programación Orientada a Objetos en Javascript</h1>
    <script src="Car.js"></script>
    <script src="Account.js"></script>
    <script src="index.js"></script> 
</body>
</html>

Clases en JS

Car.js

class Car {
  constructor(license, driver) {
    this.license = license;
    this.driver = driver;
  }

  dataCard() {
    console.log(`License: ${this.license}`)
    console.log(`Driver name: ${this.driver.nameDriver}`)
    console.log(`Document: ${this.driver.document}`)
  }
}

export default Car

Account.js

class Account {
  constructor(nameDriver, document) {
    this.nameDriver = nameDriver
    this.document = document
  }
}

export default Account

Index.js

import Car from './Car.js'
import Account from './Account.js'

const car = new Car("HDL852", new Account("Jose", "ID654"))
car.dataCard()

const car2 = new Car("KWL852", new Account("Luis", "ID987"))
car2.dataCard()

Script en HTML

<script type="module" src="./index.js"></script>

En javascript si colocamos el archivo de type=“module” podemos import las class

main js

import Card from './Card.js'
import Account from './Account.js'

let auto = new Card('WERT345', new Account('Juan Manani', 3245499))
auto.passengenger = 34
auto.printData()

class Card

function Card(license, driver) {
    this.id = null;
    this.license = license;
    this.driver = driver;
    this.passengenger = null;
}

Card.prototype.printData = function() {
    console.log(`Card license: ${this.license}`)
    console.log('Card driver: ' + this.driver.name)
}

export default Card;

class Account

function Account(name, document) {
    this.id = null;
    this.name = name;
    this.document = document;
    this.email = null;
    this.password = null;
}

export default Account;

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h3>POO</h3>
    <script src="./main.js" type="module"></script>
</body>
</html>

Una variable local únicamente vive dentro del método en donde se esta declarando.
Las variables globales , generalmente se declaran al principio del programa y cualquier método o función puede acceder a ella.

Me quedo en Python solo porque mi visual studio no importa las clases T_T

Considero más complicado Javascript porque se complica en muchas cosas.

No es necesario crear la estructura de HTML, para los que tengan Node.js lo pueden correr con el comando: node nombrearchivo.js. En Ubuntu me funcionó como nodejs nombrearchivo.js

Buena clase así se aprende haciendo

Para que no tengan que refrescar su navegador con cada cambio que hagan, VS Code tiene una opción que se llama Live Server, la pueden encontrar en la barra inferior del lado derecho, la van a encontrar como “Go Live”, así,c ada vez que guarden los cambios en VS Code, el navegador se refrescara por si solo.

https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer

Declaración de contructor en Java

Para cualquiera que tenga problemas con la declaracion en Python, encontre la solucion despues de 20 minutos, y creo que es un error conceptual que se soluciona enumerando los carros:

from Car import Car

if name==“main”:
print("*Wellcome to the firt program UBER like")

car1 = Car()
car1.license = "MCU999"
car1.driver = "Andres Herrera"
print(vars(car1))

car2 = Car()
car2.license = "SZP736"
car2.driver = "Gustavo Lopez"
print(vars(car2))

#Por demas decir que con esta declaracion funciono perfecto!

Hola, tengo un problema con visual studio code y los archivos HTML, simplemente no reconoce la extensión. ¿Como puedo solucionar este problema? Muchas gracias!

le falta explicar mas detalladamente lo que se va haciendo

class Main {
public static void main(String[] args) {
Car car = new Car(“AQR123”, new Account(“Antonio Matos”, “ADN123”));
car.passegenger = 4;
car.PrintDataCar();

    Car car2 = new Car("QTP456", new Account("Juan Mota", "PDE456"));
    car2.passegenger = 4;
    car2.PrintDataCar();

    
}

private static Account Account(String string, String string2) {
    return null;
}

}

License: AQR123 Name Driver: Antonio Matos
License: QTP456 Name Driver: Juan Mota

Me costo un poco entenderlo en java, pero listo, sigamos

Siguiendo los pasos de la clase 😃

notorio que el lenguaje favorito de la profesora es java 😅

Interesante. Aunque al inicio me cuesta: nunca he usado Java. ¡Pero se ve muy robusto!

Esto se esta complicando, espero estar entendiendo bien.

Tambien se puede hacer de la siguiente forma en JavaScript.
Primero en el archivo HTML solo llamamos al archivo index.js y le ponemos el atributo “type” de la siguiente forma

( type=“module” ) sirve para poder exportar e importar archivos.

luego vamos a nuestro archivo index.js e importamos los archivos Car y Account de la siguiente forma.
Pero aun falta algo, y es que tenemos que exportar primero los archivos Car y Account.

y es simple, en la parte final del archivo Car.js ponemos " export default Car " y de esta forma exportamos con éxito la clase Car.
Hacemos lo mismo con el archivo account y ya podemos utilizarlos en el archivo Index.js

Me confundí con los atributos license, este esta para las clases Car y Account.

Pero ya le entendí, license en Car hace referencia a la palca y en Account a la licencia de conducir.

Además, se invoca

 driver.name 

porque si se invoca solo driver este invocará los dos atributos oblicatorios par que pueda existir el objeto Driver, es decir, en este caso solo queremos llamar el nombre del conductor por eso es

driver.name

En otros cursos lo aprendí: En VS Code en vez de usar “html:5” para el autocompletado del código básico se puede colocar solo “!” (Emmet Abbreviation).

Una forma de importar clases desde otro archivo en JavaScript sin necesidad de crear tantas etiquetas <src> en HTML es aprovechando los módulos de EcmaScript que usan la siguiente sintáxis:

  • Para habilitar nuestro archivo para ser exportado y usado, debemos agregar esta linea al final del documento: export default nombreDeLaFuncion;. Ejemplo:
    proyecto/Car.js
function Car(name, driver){
[...]
}

export default Car;
  • Para importarlo debemos agregar esta línea al inicio de nuestro archivo index.js (o cualquier archivo que vaya a usar la clase) import Car from "./Car.js. Ejemplo:
import Car from "./Car.js";

var car = new Car("AW456", new Account("Andrés Herrera", "QWE234"));
  • Por último vamos a agregar la etiqueta <script> en nuestro index.html que haga referencia a al index de Javascript, sin olvidar agregar el atributo type="module"; es común que nos salga el error SyntaxError: Cannot use import statement outside a module si olvidamos este atributo.
<head>
</head>
<body>
	[...]
	<script src="./index.js" type="module"/>
</body>

Hola compañeros, aunque actualmente en JS se pueda usar “class” creo que es importante aprender esta forma también, ya que en nuestro camino encontraremos mucho código antiguo(o no) escrito de esta forma y tenemos que ser capaces de interpretarlo. No descarten conocimiento.
Saludos.




yo no lo puedo hacer en Visual Studio, lo estoy haciendo en NeatBeans.

Si alguien me pude ayudar a correrlo en vidual studio se los agradeceria mucho

Me salió este error al ejecutar el main:
“Acount cannot be resolved to a type”

Me di cuenta que el error era porque había escrito mal la clase Acount en vez de Account.

Sin embargo, al arreglar el problema, seguía mostrando el mismo mensaje. Entonces borre todo el objeto “car” con su instancia y modelo constructor, lo volví a construir y esta vez si funciono 😃

Java asi explicado no es tan doloroso como en la universidad : D

Para no estar importando cada javascript en el index.html, se puede usar la propiedad type=“module” e importar en el javascript principal, que para este caso index.js, las diferentes clases de javascript.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <title>Document</title>
</head>
<body>
    <h1>POO en JS</h1>
</body>
<script src="index.js" type="module"></script>
</html>
import Car from './Car.js';
import Account from './Account.js'

let car = new Car("AWS123", new Account("Andress Herrera", "ID34"));
car.printDataCar();

Y en cada clase de javascript se puede hacer un export default de la función.

function Car(lisence, driver){
    this.id;
    this.license = lisence;
    this.driver = driver;
    this.passenger;
}

Car.prototype.printDataCar = function() {
    console.log(this.license);
    console.log(this.driver.name);
    console.log(this.driver.document)
}

export default Car;
function Account(name, document) {
    this.id;
    this.name = name;
    this.document = document;
    this.email;
    this.password;
}

export default Account;

Si quieren correr el código JS, en la propia salida de consola del Visual Studio,
pueden instalar la extensión de Code Runner.

Nombre: Code Runner
ID: formulahendry.code-runner
Descripción: Run C, C++, Java, JS, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, CMD, BASH, F#, C#, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml, R, AppleScript, Elixir, VB.NET, Clojure, Haxe, Obj-C, Rust, Racket, Scheme, AutoHotkey, AutoIt, Kotlin, Dart, Pascal, Haskell, Nim,
Versión: 0.9.17
Editor: Jun Han
Vínculo de VS Marketplace: https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner

Esta clase si siento que faltó un poco de explicación (aunque anahí ha venido explicando muy bien 😊), porque aunque me salió todo no entendí el porque del código simplemente me toco codear para seguirle el ritmo a anahí, en todo caso tocará seguir revisando las clases posteriores y documentación.

ahora con la palabra reservada class se vuelve mas homogeneo la syntaxis de Js con otros lenguajes de programación, aunque claro, Js tiene sus particularirades

Si usas NodeJs no tienes que crear un HTML.

Hay cosas que no entendí en JS, por ejemplo cuando en la clase Car empieza a imprimir con console.log atributos de la clase account.

A Uber no le gusta que digan que no puede haber auto sin conductor jajaja

JavaScript ha tenido muchas mejoras, ahora en la etiqueta script ponemos <script src="./index.html" type=“module”></script>
Y ya solo importamos las clases cuando las ocupamos.
En los archivos de cada clase debe ir:
export default class Car { … } y en el index lo llamamos así

Anahi me encanta como enseñas

Usando modulos.

// Account.js
class Account {

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

}

export default Account;

// Car.js
class Car {
  
  constructor(license, driver) {
    this.id;
    this.license = license;
    this.driver = driver;
    this.passenger;
  }

  printDataCar = () => {
    console.log(this.license);
    console.log(this.driver);
    console.log(this.driver.name);
    console.log(this.driver.document);
  }

}

export default Car;

// index.js
import Account from './Account.js'
import Car from './Car.js'

const car = new Car('Drop-123', new Account('Pepe', '77777'));
car.printDataCar()

// index.html
<script type="module" src="./index.js"></script>

html:5

Estoy mareado con tantos lenguajes jajaja

I love it this class!

Método constructor con C#

//Account.cs
public class Account {
    public int id;
    public string name;
    public string document;
    public string? email;
    public string? password;

    public Account(string name, string document){
        this.name = name;
        this.document = document;
    }

}
//Car.cs
public class Car {
    public int id;
    public string license;
    public Account driver;
    public int passegers;

    public Car(string license,Account driver){
        this.license = license;
        this.driver = driver;
    }
}

// Program.cs
Console.WriteLine("Hello, World!");
Account cuenta =  new Account("Gerardo","AMFRDT");
cuenta.email = "[email protected]";
Car car = new Car("asqwed",cuenta);

Console.WriteLine(car.license);
Console.WriteLine(car.driver.name);
Console.WriteLine(cuenta.email);

He estado haciendo la escuela de desarrollo web y aprendiendo proncipalmente javascript, con la nueva sintaxis de ES6 de clases es muy similar a como se crea una clase en Java, y gracias a esta clase ya entiendo mejor lo que significa el this. , excelente forma la de explicar de Anahí

recuerden amigos, es mas facil poner printDataCar como function arrow dentro de una variable de la clase, que tenerla como prototype

Ojo! el script de JS va dentro y al final del body, no va por fuera

otra forma de escribir rápido la estructura de HTML5 con emmet es poner este símbolo ! y darle en la tecla Tab, al menos a mí me parece más rápido de esta manera.

En vez de usar HTML puedes descargar la extención Code Runner que ejecutara todo el código en un servidor de NodeJs

Hola a todos, Si requieren ejecutar un código JS en consola sin usar el navegador, pueden hacerlo sin necesidad de un archivo HTML usando la extensión de VSC Code Runner

Espero les sea de utilidad, Saludos👍😊

Por fin entendí el This.

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

class Car {
  constructor(license,driver){
    this.id;
    this.license = license;
    this.driver  = driver;
    this.passegenger;
  }
  
    printDataCar = () => {
    console.log(this.driver);
    console.log(this.driver.name);
    console.log(`License:  ${this.license}` );
    console.log(`Document: ${this.driver.document}`);
  }
}



como se realiza el arreglo de los archivos en class y como después se integra

Paso esta misma clase pero para Python:
https://www.youtube.com/watch?v=ElObT5rOx2M

explicación en java

Muy buena clase

El elemento <script></script>, en este caso, debe ir dentro del elemento body

A java lo tienen como un Rey y JS lo dejan un poquito a un lado 😅

Interesante como podemo hacer que una clase sea todo un atributo de otra clase, me está encantando este curso.

Increíble todo lo que estoy aprendiendo en esta clase!!

Yo creo que lo mejor para declarar clases usando js, es usar " Class " , en vez de function().

Lo mas importante es leer codigo, function es mejor para lo que su nombre lo indica, funciones.

Ahora para usar Class debes usar esta sintaxis:

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

Soy el unico o a partir del minuto 12:30 el video se traba

Hasta el momento tengo entendido que las “super clases (padre)” son las clases y las “Subclases (hijos)” son los objetos… ¿Es correcto?

Interesante la forma como se crean y se llaman los objetos en JS

woo se ve que js es un lenguaje mucho mas facil

hay que importar la siguiente libreria para poder usar ArrayList

import java.util.ArrayList;```

Tengo un par de problemas para hacer ejercicio en Python, sobre todo la parte de la herencia de Account a Driver 😦

Realmente no se cómo hacerlo.

**main.py**

from car import Car
from account import Account

if __name__ == "__main__":
    print("Hola Mundo!")

    car = Car("AMD211", Account("José Pérez","AWDREE"))
    print(vars(car))
class Account:
    id          = int
    name        = str
    document    = str
    email       = str
    password    = str

    def __init__ (self, name, document):
        self.name = name
        self.document = document
from account import Account

class Car:
    id          = int
    license     = str
    driver      = Account
    passenger   = str

    def __init__ (self, license, driver):
        self.license = license
        self.driver = driver

Resultado:

python3 main.py
Hola Mundo!
{'license': 'AMD211', 'driver': <account.Account object at 0x7f352bd8a2b0>}```

Coloco mi ejemplo

index.js

let car = new Car("AWD485",new Account("Andres Hernandez","WERSAS452813"));
console.log(car.printData());

Car.js

class Car{
    constructor(license,driver){
        //this.id = id;
        this.license = license;
        this.driver = driver;
        //this.passenger = passenger;
    }
    printData () {
        return "Licencia: " + this.license + " Nombre:" + this.driver.name + " Documento: "+ this.driver.document 
    }
}

Account.js

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

Un gran esfuerzo para explicar esta clase te felicito Anahí, haces de lo que parece dificil facil Muchas Gracias

un curso excelente, una lastima que se acaben los dias gratis, espero comprar la membresia para terminarlo, slaudos y #NuncaParesDeAprender

class Car {
    constructor(license, driver) {
        this.id;
        this.license = license;
        this.driver = driver;
        this.passenger;
    }
    printDataCar() {
        console.log(this.driver);
        console.log(this.driver.name);
        console.log(this.driver.document);
        
    }
}

Al momento de cambiar el tipo de elemento de driver que en un primer momento es String se cambia al tipo Account, la profesora dice que driver hereda de Account ¿Por qué no se hace uso de la palabra reservada extends que es para herencia?
¿Y por qué no se hace algún tipo de llamado al archivo Account.java es acaso porque están en la misma carpeta?

Gracias! Excelente explicación!

Crear mètodo constructor en JS.

Definir mètodo constructor para Java.

Explicaciòn Importante sobre palabra "this". (Java)

Mètodo constructor para Account. (Java)