Bienvenida e Introducci贸n

1

驴Por qu茅 aprender Programaci贸n Orientada a Objetos?

2

驴Qu茅 resuelve la Programaci贸n Orientada a Objetos?

3

Paradigma Orientado a Objetos

4

Lenguajes Orientados a Objetos

5

Instalando Visual Studio Code

6

Diagramas de Modelado

7

Qu茅 es UML

Orientaci贸n a Objetos

8

Objetos

9

Abstracci贸n y Clases

10

Modularidad

11

Analizando Uber en Objetos

12

Reto 1: identificando objetos

Programaci贸n Orientada a Objetos. An谩lisis

13

Clases en UML y su sintaxis en c贸digo

14

Modelando nuestros objetos Uber

15

驴Qu茅 es la herencia?

16

Aplicando Herencia a nuestro proyecto Uber

17

Reto 2: analicemos un problema

Clases, Objetos y M茅todo Constructor

18

Creando nuestras carpetas iniciales para el curso

19

Definiendo clases en Java y Python

20

Definiendo Clases en JavaScript

21

Objetos, m茅todo constructor y su sintaxis en c贸digo

22

Objetos. Dando vida a nuestras clases en Java y Python

23

Declarando un M茅todo Constructor en Java y JavaScript

24

JavaScript orientado a objetos, lo m谩s nuevo

25

Declarando un m茅todo constructor en Python

Herencia

26

Aplicando herencia en lenguaje Java y PHP

27

Soluci贸n del reto de herencia en PHP

28

Aplicando herencia en lenguaje Python y JavaScript

29

Otros tipos de Herencia

30

Reto 4

Encapsulamiento

31

Encapsulamiento

32

Encapsulando atributos en Java

Polimorfismo

33

Generando polimorfismo en Java

34

Generando polimorfismo en PHP

Cierre del curso

35

El Diagrama UML de Uber

36

Conclusiones

37

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

Curso de Programaci贸n Orientada a Objetos: POO

Curso de Programaci贸n Orientada a Objetos: POO

Anah铆 Salgado D铆az de la Vega

Anah铆 Salgado D铆az de la Vega

Objetos. Dando vida a nuestras clases en Java y Python

22/37
Recursos

Aportes 219

Preguntas 85

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Si a alguien le sucede que VS code manda una advertencia al importar un modulo en python es debido a que esta activado el preview de Microsoft Python Language Server. Lo que hice para solucionar esto fue:

Entrando a las configuraciones de Usuario de Visual Studio Code abriendo el command palette de VSC con F1 y buscando 鈥淥pen Settings (JSON)鈥, ah铆 busque 鈥減ython.jediEnabled鈥 y de estar declarado como 鈥渇alse鈥, lo cambi茅 a 鈥渢rue鈥.

Al parecer esto pasa cuando Visual Studio manda una alerta diciendo que actives Microsoft Python Language Server (preview), da un mensaje como este: 鈥淚nteliCode Python support requires you to use the Microsoft Python Language Server (preview).鈥

Si aceptas la recomendaci贸n que da seguir谩 ocurriendo el problema, por eso mejor cada vez que sale lo ignoro y doy click en 鈥淟ater鈥.

La soluci贸n lo encontr茅 aqui:
https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-466184943

los que tengan problemas con from car import Car, cambienlo por from Python.car import Car, parece que hay que especificar la carpeta del archivo y en este caso es Python

Quiz谩s a muchos les pase el problema con python como a mi solo si ya entendieron esta clase no se compliquen si les funciono en un lenguaje y ya entendieron la l贸gica sigan adelante.
Pero si quieren profundizar y seguir adelante y le gusta python vayan al curso de python de seguro all铆 les explican mas a fondo como hacer la configuraci贸n en Vs .
En mi caso seguir茅 adelante por que estoy aprendiendo javascript pero mas adelante cuando ya conozca la sintaxis bien de javascript .
Me voy a python como backen .
Nunca parar de aprender 馃槂 .

Todos con problemas con python y los profesores ni un moderador pone la ayuda, podr铆an hacer un poquito mejor su trabajo no? tan costosa anualidad para no tener soporte en un curso para principiantes , pfff

Problemas al ejecutar Python?
Intenta ejecutar como 鈥減y main.py鈥 en lugar de 鈥減ython main.py
.

鉁 Dando vida a nuestras clases en el lenguaje Dart.

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

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

void main() {
	print('Hello World!');
  Car car = Car();
  car.license = 'AMO123';
  car.driver = 'Andres Herrera';
  car.passenger = 4;
  car.printDataCar();

  Car car2 = Car();
  car2.license = 'QWE567';
  car2.driver = 'Andres Herrera';
  car2.passenger = 3;
  car2.printDataCar(); 
}

Anah铆 hace que todo parezca mucho m谩s sencillo!

Hola, 驴Alguien sabe porque me marca as铆? La verdad si me compil贸 bien pero me sale eso 驴es normal?

compilado

alguien sabe porque me aparece todo eso en la terminal ? si corrio lo explicado en la clase, solo que cada vez que lo hago me salen muchas cosas

(

Instancias en PYTHON:
馃挌馃捇

Quien tenga problemas para importar el m贸dulo car en VSC intentar as铆:

from .car import Car

Teniendo el archivo main en el mismo directorio que car.

Hola, una pregunta, sabran porque no me permite importar la clase Car?

from car import Car

tengo el c贸digo y archivos exactamente igual al video

Recuerden que si no les imprime nada en Python, usen py -3 main.py para ejecutar

En Java:

package Java;

public class Car {
    Integer id;
    String license;
    String driver;
    Integer passenger;
    
public void printDataCar(){
    System.out.println("driver=" + driver + ", id=" + id + ", license=" + license + ", passenger=" + passenger);
}
}
package Java;

public class Principal {
    public static void main(String[] args) {
        Car carrito = new Car();
        carrito.license = "IJP625";
        carrito.driver = "PEPE";
        carrito.passenger = 4;
        carrito.printDataCar();
    }
}

Comparto el ejemplo en Python con constructores.

python simplifica mucho la sintaxis para realizar las mismas funciones que en java en este caso para definir un contructor solo es necesario hacerlo asi

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

Bueno, me parece importante que as铆 como en Java creamos una funci贸n para imprimir los detalles del carro en la clase Car.java, para as铆 llamar esa funci贸n desde Main.java y ahorrar lineas de c贸digo, tambi茅n lo hagamos en python la forma de hacerlo es la siguiente:

Creamos un metodo en la clase car.py de la siguiente forma:

def printCarSpecs(Car):
print(vars(Car))

Lo que hacemos ahi es crear una funci贸n llamada printCarSpecs, la cual recibe como par谩metro un objeto Car, y dentro de esta imprimimos las variables del objeto Car que acabamos de pasar como par谩metro.

Y en la clase main.py llamamos a la funci贸n de la siguiente forma:

car.printCarSpecs()

Recuerden que hubo un par de cambios entre la sintaxis de Python 2 a Python 3, revisen bien cual es la sintaxis acorde la versi贸n del interprete que esten utilizando

Ya tengo instalado: Java extension pack, debugger for java, jdk. Pero no puedo compilar ni correr el codigo. Ya revise varios tutoriales que crean tasks en json, pero solo lo explican para windows y yo tengo MacOs. Que puedo hacer?

Se deberias de hablar sobre el encapsulamiento y usar los metodos Setters y Getters, ya que acceder a los atributos desde otra clase o metodo es una pesima practica. (No acentos ni enie).

隆Hola! La verdad lo intent茅 mucho con java que me corriera el c贸digo, solo se logr贸 ingresando el c贸digo en repli pero en mi VScode no鈥 Python si fue muy f谩cil llevo meses trabajando con este lenguaje y no tuve problemas.

Python

Java

Comentario: Deber铆an dar un introductorio a java, ya que este curso se encuentra en la carrera de data Science, carrera donde el uso de JAVA es muy poco decir m铆nimo en los casos que me han tocado ni lo he visto, pero como est谩 dentro de la ruta agregar por lo menos una clase de configuraci贸n inicial para JAVA.

ERROR PYTHON - SOLUCION

Por si de pronto le sirve a alguien. no me mostraba nada por consola, luego de darle guardar CTRL+S, me sirvio.

ojala les sirva.

Traceback (most recent call last):
File 鈥main.py鈥, line 1, in <module>
from Python.car import Car tengo este error

Lito, la verdad es muy f谩cil el leer la sintaxis de python.

Alquien podria decirme porque me sale unresolved import, esta igual como en el video

Les comparto como quedaria con lo visto en la anterior clase, Metodos Constructores
JAVA:
car.java:

//esto va dentro de la clase
public Car(Integer id,String license,String driver,Integer passenger){
    this.id=id;
    this.license=license;
    this.driver=driver;
    this.passenger=passenger;
}

main.java:

//creamos el objeto con los parametros
Car car=new Car(2,"4565","Andres",4);
    car.printDataCar();

PYTHON:
car. py:

#dentro de la clase
def __init__(self,id,license,driver,passenger):
        self.id=id
        self.license=license
        self.driver=driver
        self.passenger=passenger

main. py:

#creamos el objeto
car=Car(1,"45698","Andres",4)
    print(vars(car))

Para aplicar de igual forma lo que hicimos en Java con Python lo que hice fue crear el m茅todos dataCar (tambi茅n puede hacer uso de data_car c贸mo prefieran):

Ten铆a un error con el m茅todo dataCar y era que no le hab铆a pasado la clase c贸mo par谩metro, por eso se los dejo all铆 para que no se les olvide.


Y este fue el resultado:

Ideas para el futuro: Podemos agregar una m贸dulo que genera una ID alfanum茅rica aleatoria para cada carro o en su defectos, generar el ID a partir de los n煤meros de licencia y la primera letra del nombre, por ejemplo.

Amo Python
馃悕馃挅馃悕

Chavxs, para correr en Terminal lo del curso, s贸lo tenemos que escribir:

(no tomen en cuenta el espacio de main y py)

  • python3 main. py

Imagen para no morir ignorado:

Les comparto dos opciones de impresi贸n que aprend铆 hace poco. Tener en cuenta que hay que importar las siguientes librer铆as previamente:

para la primera forma de impresi贸n

import json

para la segunda forma de impresi贸n

import yaml

Hasta ahora una de las clases que a pesar de la duraci贸n senti que la termine rapido con el tema de los objetos en Java y Python que en lo personal es bastante sencillo de trabajar

Python es hermoso xD

Muy buena clase, de ahora en adelante utilizar茅 todos estos nuevos conceptos de POO

Hola PlatziMates!! Para quienes no pudieron resolver el error de 鈥淚mport could not be resolved Pylance report Missing Imports鈥 por los m茅todos ya planteados, les dejo mi soluci贸n:

  1. Oprimir F1
  2. Buscar y abrir el archivo 鈥淧references: Open Settings (JSON)鈥
  3. Agregar la siguiente l铆nea, donde ["./sources"] es la direcci贸n completa donde est谩 alojada la carpeta de los archivos Python de este proyecto
"python.analysis.extraPaths": ["./sources"]

Donde ["./sources"] es la direcci贸n completa donde est谩 alojada la carpeta de los archivos Python de este proyecto.

Ejemplo:

{
    "python.pythonPath": "D:\\Documentos\\PLATZI\\Escuela_Data_Science\\Python_Intermedio\\curso-python\\venv\\Scripts\\python.exe",
    "python.analysis.extraPaths": ["D:\\Documentos\\PLATZI\\Escuela_Android\\Curso_POO\\Python"],
    "window.zoomLevel": 1,
    "editor.accessibilitySupport": "on",
    "workbench.editorAssociations": [
        {
            "viewType": "jupyter.notebook.ipynb",
            "filenamePattern": "*.ipynb"
        }
    ],
    "atomKeymap.promptV3Features": true,
    "editor.multiCursorModifier": "ctrlCmd",
    "editor.formatOnPaste": true,
    "workbench.iconTheme": "material-icon-theme",
    "liveServer.settings.donotShowInfoMsg": true,
    "python.languageServer": "Pylance",
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue"
}

Con esto le dan una v铆a extra al servidor de lenguaje de donde encontrar los archivos que estas llamando.

Fuente: https://github.com/microsoft/pylance-release/blob/main/TROUBLESHOOTING.md#unresolved-import-warnings

Apuesto a que no soy el 煤nico. Visual Code siempre me da muchos problemas.

from car import Car

if __name__ == '__main__':

    car = Car()
    car.license = "MWW055"
    car.driver = "Felipe"
    print(vars(car))

    car2 = Car()
    car2.license = "SGE37E"
    car2.driver = "Juan"
    print(vars(car2))

En mi caso utilice python para mi primer declaracion de objetos

from account import Account
import random

def run():
    print("hola Mundo")
    account = Account()
    account.document = 41101251
    account.email = "[email protected]"
    account.id = random.randint(0,10)
    account.name = "claudio"
    account.password = "asd帽alsda帽"
    print(vars(account))


if __name__ == "__main__":
    run()

Ya est谩 comenzando lo bueno 馃槃

En Java me funciono perfecto. En python no se porque pero al hacer el from a car no lo encuentra pero al ejecutarlo funciona correctamente.

que emocionante tirar las primeras lineas en JAVA y Python

Si no puede ver el resultado en el DEBUG CONSOLE y solo aparece en TERMINAL, vayan a 鈥淓xtensiones鈥 seleccionen el debugg java con la ruedita de engranaje, presionan 鈥extension settings鈥 y en la opci贸n de : Java 鈥 Debug 鈥 Settings: Console, seleccionen 鈥internalconsole

listo


Excelente clase

Con respecto al problema de Phyton con relaci贸n al llamar el metodo constructo del objeto Car
encontr茅 la soluci贸n en este comentario
hay que estar pendiente con los mensajes de VSC
Saludos,

from uberCar import uberCar

if __name__== "__main__":
    carrito1 = uberCar("AAS113","Arnoldo Alvarez",4,1234)
    carrito2 = uberCar("KSS114","Kris Summers",5,5678)

class uberCar:
    
    license = str    
    driver = str      
    passengers = str
    id = int 
    
    def __init__(self, license, driver, passengers, id):
        
        self.license = license
        self.driver = driver
        self.passengers = passengers
        self.id = id
            
        def printing():
            print(license)
            print(driver)
            print(passengers)
            print(id)
        
        printing()```


excelente didactica鈥 馃槂

Python3.10 main.p
y (2022)

RESUMEN CLASE 22:
OBJETOS DANDO VIDA A NUESTRAS
CLASES EN JAVA Y PYTHON

JAVA

package Java;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hola como estan");
        Car car = new Car();
        car.licence = "AMQ123";
        car.driver = "Abidan Triguero";
        car.passenger = 4;
        car.printDataCar();

        Car car2 = new Car();
        car2.licence = "QWE567";
        car2.driver = "Andrea Herrera";
        car2.passenger = 3;
        car2.printDataCar();
    }
    
}

PYTHON

from car import Car

if __name__ == "__main__":
    print("Hola mundo")
    car = Car()
    car.licence = "AMS234"
    car.driver = "Andres Herrera"
    print(vars(car))

    car2 = Car()
    car2.licence = "QWE567"
    car2.driver = "Matha"
    print(vars(car2))

Python a simple vista se ve que ayuda a simplificar el trabajo. Sin embargo mi meta es primero volverme experto en JavaScript.

PARA QUIENES TIENEN EL ERROR DE PYTHON
Aseg煤rense de que en la clase car cuando escriban los sustantivos id, license, driver y passenger sean del tipo Alias. Adem谩s de eso puede que arriba encuentren unas l铆neas de comando que dicen:

Bueno pues b贸rrenlas.

tqm Python 馃槂

Muy bien explicado, tomando como referencia a varios lenguajes python y Java.

hola solo para agregar como comentario lo que significa la palabra reservada void en el lenguaje java, void significa que no retornara nada y es por ello que no ocuparemos alg煤n return

hola compa帽eros espero que esten muy bien, recuerden para jecutar en Python siempre deben posicionarcen en pa carpeta Python
/Users/user/Documents/CursoPOOUber/python/mai

dando vida a nuetro codigo
java

class Main {
    public static void main(String[] args) {
        System.out.println("hola mundo ");
        Car car = new Car();
        car.license = "FJB879";
        car.driver = "johan sabedra ";
        car.passegenger = 4;
        car.printDataCar();
       
        
        Car car2 = new  Car();
        car2.license = "RTS362"; 
        car2.driver = "juan seballos";
        car2.passegenger = 5;
        car2.printDataCar();

    }
} 

Python

from car import Car
if __name__ == "__main__":
    print("hola mundo")
    print("hola a todos los plazitnautas")
    car = Car()
    car.license = "FJB879"
    car.driver = "jhohan sabedra"
    print(vars(car))    


    car2 = Car()
    car2.license = "KLE234"
    car2.driver = "ana maria"
    print(vars(car2))

hola a todos
**compa帽eros me sale este error al ejecutar java
Error: no se ha encontrado o cargado la clase principal Main
Causado por: java.lang.ClassNotFoundException: Main
PS C:\Users\user\Documents\CursoPOOUber> alguien me podria ayudar gracias **

Para los que tengan problemas con el ArrayList en Java, tal vez necesitan importarlo:

Para los que les de error en python, agreguen 茅sta l铆nea al inicio.

mi error fue solo equivocarme en las minusculas y mayusculas de 鈥渃ar鈥. pongan atencion a eso ajaja

Quiero darles la solucion mas simple que me funciono por la importacion 鈥渇rom car import Car鈥 basicamente lo que hice fue. guardar el archivo car (control+s) y funciono.

No se si estoy haciendo bien pero apenas estoy empezando en este mundo, por lo que aprender cuatro lenguajes a la vez puede ser abrumador, as铆 que solamente me estoy enfocando en el lenguaje que estoy aprendiendo ahora (Javascript), ya sea en la sintaxis, clases, o pr谩cticas, y los otros lenguajes simplemente los veo para tener contexto, pero no son mi prioridad por ahora 馃槈

Pues yo solo tuve que debuggear el codigo y executarlo en la siguiente pesta帽a . ya que me daba errores de execucion.
la linea naranja en el codigo es de que no he echo commit a mi repositorio , asi que ignorenlo.

Por si de pronto se les hace mas como pueden ejecutar directamente el main en la consola d谩ndole clic derecho y presionando 鈥淩un Python File In Terminal鈥.

Les comparto un art铆culo que encontre con la expicaci贸n de 鈥渧ars鈥 lo que usa la profesora en el print para imprimir los datos de cada objeto. Espero les sea de utilidad.
link

Mi solucion para el problema de importar car, fue simplemente guardar los archivos en VSCode, ya que estaba acostrumbrado a usar Pycharm, cuando me cambie a pycharm me di cuenta de que no se habian guardado los cambios, despues de darle ctrl + s a car me funciono a la perfeccion.

En Java pueden hacer un override (sobreescribir) del m茅todo toString() para retornar valores de la clase. Este m茅todo ya viene en cada clase.

@Override
public String toString() {
    return "License: " + this.license + "\nDriver: " + this.driver;
}

Y para imprimir los datos seria asi:

Car car = new Car();
car.license = "AMQ123";
car.driver = "Milo Juarez";
car.passenger = 3;

System.out.println(car.toString());

Output:

License: AMQ123    
Driver: Milo Juarez

Sin el override del m茅todo toString() y llamando el m茅todo, el output seria:

Java[email protected]36baf30c
<?php 
// car.php
class Car{
    public $id;
    public $license;
    public $driver;
    public $passenger;

    function printDataCar(){
        echo $this->license;
        echo $this->driver;
        echo $this->passenger;
    }
}

?>

index.php
<?php 
include "Car.php";

  $car = new Car();
  $car->license = "NS2021";
  $car->driver = "Henry Aguilar";
  $car->passenger = 4;
  $car->printDataCar();
?>

de no dejarme compilar a no dejarme abrir VisualStudio

por un momento pens茅 que Anahi me conoc铆a porque las iniciales de mi nombre son AMQ como lo puso en la licencia y en el conductor coloca Andres鈥 y yo:

Good class, it鈥檚 really interesting to see how each programming language do the same task.

python

Mala practica! nunca pongas un ssout en un metodo que tenga que devolver un valor! acortas las posibilidades!!!

Que buena clase, Anah铆 explica muy bien

Que facil es Python
Que Dificil es Java .馃槙 >.<

from car import Car 
if  __name__ == "__main__":
    print("Hola mundo")
    car = Car()
    car.license = "MDK432"
    car.driver = "Andres Iniesta"

    # var + el objeto como parametro
    print(vars(car))

    car2 = Car()
    car2.license = "QDK65"
    car2.driver = "Martha"
    print(vars(car2))

Les comparto mi metodo para ver los datos de los objetos Car

public void printCar(){
        System.out.println("DATA CAR \n" + 
            "id: [" + this.id + "] \n" +
            "licence: [" + this.license + "] \n" +
            "driver: [" + this.driver + "] \n" +
            "passenger: [" + this.passenger + "] \n");
    } 

Hola Mundo
{鈥榣icense鈥: 鈥楯COR123鈥, 鈥榙river鈥: 鈥楯uan Carlos鈥檥
{鈥榣icense鈥: 鈥楨vil666鈥, 鈥榙river鈥: 鈥楧racula鈥檥

no print
es prin

car.prinDataCar();

Les recomiendo la extension AREPL para python. Es buenisima, ves el output de tu codigo en tiempo real.

馃榿

Me encant贸 esta clase. Sobre todo la parte de Python. Ahora entiendo por qu茅 la parte de Selenium no la estaba entendiendo. Esta clase es fundamental.

from car import Car

if __name__=="__main__":
    car = Car()
    car.license         =       "AMS2233"
    car.driver          =       "Carlos Martinez"
    car.id              =       665489
    car.passager        =       "Raul Chotardi"
    print(vars(car))
    
    car2 = Car()
    car2.license         =       "PDS4456"
    car2.driver          =       "Soilo Quito"
    car2.id              =       773895
    car2.passager        =       "Juana Rinatti"
    print(vars(car2))

Instancias en JAVA:
馃挌馃捇

As铆 me quedo usando python

public class Car {
    Integer id;
    String license;
    String driver;
    Integer passegenger;

    void printDataCar(){
        System.out.println("License: " + license + " Driver: " + driver);
    }
}
from car import Car

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

    car = Car(1, "AMS234", "Andres Herrera", 5)
    car.printDataCar()

    car2 = Car(2, "QWS234", "Daniel Franco", 3)
    car2.printDataCar()

A mi no me deja ver mi trabajo en java, en el desglose de Terminal me arroja el siguiente mensaje:

[email protected] MINGW64 ~/Documents/PLATZI/POO
$ cd C:\Users\Administrator\Documents\PLATZI\POO ; /usr/bin/env c:\Users\Administrator\.vscode\extensions\vscjava.vscode-java-de
bug-0.34.0\scripts\launcher.bat 鈥淐:\Program Files\Java\jdk-13.0.1\bin\java.exe鈥 -Dfile.encoding=UTF-8 -cp C:\Users\Administrator\
AppData\Roaming\Code\User\workspaceStorage\541815b89814b45816c3f156d5b0d994\redhat.java\jdt_ws\POO_c8f3d977\bin java.Main
Error: A JNI error has occurred, please check your installation and try again
Exception in thread 鈥渕ain鈥 java.lang.SecurityException: Prohibited package name: java
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:898)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1014)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:416)
at java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:760)
at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:655)

me gustar铆a sabe hacer.

Implementaci贸n en Lenguaje Kotlin. Utilice Data Class para almacenar los datos de Car.

Nota: Una data class no es m谩s que una clase que s贸lo contiene estado y no realiza ninguna operaci贸n.

data class Car(
    val id: String,
    val license: String,
    val driver: String,
    val password: String
)

fun main() {
    val car = Car(id = "01", license = "ABC-001", driver = "Fredy Vega", password = "*****")
    val car2 = Car( id = "02", license = "AXD-015", driver = "Anah铆 Salgado", password = "*****")
    println("El Veh铆culo con ID ${car.id}, licencia ${car.license}, pertenece a ${car.driver} y su contrase帽a es ${car.password}")
    println("El Veh铆culo con ID ${car2.id}, licencia ${car2.license}, pertenece a ${car2.driver} y su contrase帽a es ${car2.password}")
}

/*Resultado
El Veh铆culo con ID 01, licencia ABC-001, pertenece a Fredy Vega y su contrase帽a es *****
El Veh铆culo con ID 02, licencia AXD-015, pertenece a Anah铆 Salgado y su contrase帽a es *****
*/

COMO SOLUCIONAR EL PROBLEMA AL IMPORTAR UN MODULO EN PYTHON


Tuve el problema de que al importar un modulo en Python me marcaba una advertencia.
Esto suele pasar por que el Python Language Server esta activado.
Hay que desactivarlo de la siguiente manera:
1. Abrir el command palette en VSCode con Ctrl + shft + p y seleccionar Open Settings (JSON)

2. Borrar 鈥減ython.languageServer鈥: 鈥淢icrosoft鈥, , guardar y reiniciar/refrescar la ventana de VSCode.

Nota:
Qui藕a VScode te sugiera que agregues un 鈥榩ython.鈥 al inicio del nombre del modulo del que quieres importar, ignora eso y solo escribe el nombre completo del modulo, tal como anah铆 lo hace.

No olviden Compilar sus clases con el comando, si es que est谩n en linux

$ javac archivo.java

Una pregunta si el metodo para imprimir por pantalla los datos del carro en java solo lo invoco una vez osea al final solo me imprime un objeto o me imprime los 2 objetos

Muy muy interesante implementarlo en Python, s铆 que me hizo sufrir hacerlo funcionar, pero vali贸 la pena.

Tengo un error en python no me imprime y me sale un error, 驴Alguien sabe a que se puede deber?

Para el problema del import en python a mi lo que me generaba el problema era la extensi贸n Pylance. Lo que hice para solucionarlo: En el settings.json buscar y deshabilitar la l铆nea que dice 鈥減ython.languageServer鈥: 鈥楶ylance鈥" y listo, espero les funcione.

Nota: Para los novatos como yo en VSCODE, para abrir el settings.json, ingresan a la paleta de comandos Ctrl+Shift+P y buscan Open Settings (JSON)

Wow, no me acordaba que en Java no se usaba el this para acceder a las propiedades D: se me hace raro porque rompe con todo lo que sab铆a de otros lenguajes xD

despues de mucho intentar pues me sale igual que ha la profe

para que saliera igual segu铆 las siguientes respuestas en foro:
este es el error del unresolved, cuando no puede encontrar el archivo car:

https://github.com/microsoft/vscode-python/issues/3840#issuecomment-463789294

tambien agregue las lineas de codigo que aparecen en este foro al settings.json
https://www.codegrepper.com/code-examples/javascript/vscode+unresolved+import+python

asi que ahora trae las proiedades desde la clase e imprime en la consola de python sin inconvenientes, ha uso python 3.9, como referencia adicional.

en resumen se agrega un .env al workspace conuna linea de codigo que se muestar en el hilo del post y luego en los settings la siguiente y asi me imrimio, les recomiendo intentar desde la consola directamente, el error es causado por la consola de vscode, por cierto estoy en ubuntu 20.04, para mayor referencia.

En el momento en que por accidente pusiste car solamente pens茅 que era car2, de lo contrario hubieran salido los mismos datos de car y el car2 solo hubiera gastado espacio en memoria jeje

muchos problemas da python y el java no logro que compile

debe de explicar totalmente la configuraci贸n completa de todo lo que menciona en el video porque al parecer se generan muchos problemas

Hay ciertas diferencias entre cada lenguaje, lo que puede causar ciertas equivocaciones al momento de programar en uno u otro.

Class Notes

<h3>Main.java</h3>
import java.lang.*;

/**
 * Main
 */
public class Main {

	public static void main(String[] args) {
        Car car_1 = new Car();
        car_1.id = 1212321;
        car_1.pin = 123;
        car_1.license = "ASM123";
        car_1.passangers = 4;
        car_1.owner = "Thomas Brag";

		Car car_2 = new Car();
        car_2.id = 312312;
        car_2.pin = 100;
        car_2.license = "CAR312";
        car_2.passangers = 6;
        car_2.owner = "Christopher Michaels";

        System.out.printf("---Car-Info---\n");
		car_2.printSMTH("ALL");

        System.out.printf("---Car-Info---\n");
		car_1.printSMTH("ALL");
	}
}
<h3>Car.java</h3>
import java.lang.*;

/**
 * Car
 */
public class Car {
    /*
     * multiple vars of one type in one line
     * int x = 5, y = 10;
     * static int x, y = 5;
     */
    int id = 0;
    byte pin = 0;
    String owner = "";
    String license = "";
    short passangers = 0;
    public static void main(String[] args) {
        //
    }

    void printSMTH(String usrInput) {
        if (usrInput.equals("ID")) {
            System.out.printf("%d", id);
        } else if (usrInput.equals("PIN")) {
            System.out.printf("%d", pin);
        } else if (usrInput.equals("OWNER")) {
            System.out.printf(owner);
        } else if (usrInput.equals("LICENSE")) {
            System.out.printf("%s", license);
        } else if (usrInput.equals("PASSANGERS")) {
            System.out.printf("%d", passangers);
        } else if (usrInput.equals("ALL")) {
            System.out.printf("\n\tID: %d\n\tPIN: %d\n\tOwner: %s\n\tLicense: %s\n\tPassangers: %d\n", id, pin, owner, license, passangers);
        } else {
            System.out.printf("\nthe mistake isn't you, is the code so chill out\nand go see where and when did you call this func\n");
            System.exit(1);
        }
    }
    /*
    void printID() {
        System.out.prinf(id);
    }
    */
}
<h3>Sample Output:</h3>
---Car-Info---

	ID: 312312
	PIN: 100
	Owner: Christopher Michaels
	License: CAR312
	Passangers: 6
---Car-Info---

	ID: 1212321
	PIN: 123
	Owner: Thomas Brag
	License: ASM123
	Passangers: 4

Si cuando est谩n ejecutando sus programas la consola esta 鈥渟aturada鈥 pueden presionar Ctrl + l y se limpiar谩

from car import Car

if __name__ == "__main__":
    print("Holaaa")
    
    car = Car()
    car.license = "AMS234"
    car.driver = "Andres Herrera"
    print(vars(car))

    car2 = Car()
    car2.license = "QWE899"
    car2.driver = "Matha"
    print(vars(car2))```