github.com/woodyalan/poo_typescript
cd poo_typescript/
npm install
npm run start:dev
let textoQualquer: string = "Olá mundo";
// erro devido a tipagem
textoQualquer = 2;
Objeto do tipo celular
Modelo: iPhone 13
Câmera: 12mp
Memória Interna: 128gb
Tipo: Smartphone
Marca: Apple
Objeto do tipo celular
Modelo: Redmi Note 12
Câmera: 200mp
Memória Interna: 256gb
Tipo: Smartphone
Marca: Xiaomi
export class Celular {
marca: string;
modelo: string;
capacidadeMemoriaInterna: number;
qualidadeCamera: number;
tipo: string;
}
export class Celular {
// ...
fazerLigacao() {
console.log("Fazendo ligação...");
}
receberLigacao() {
console.log("Recebendo ligação...");
}
fotografar() {
console.log("Fotografando...");
}
}
import { Celular } from "./models/Celular";
let iphone13 = new Celular();
iphone13.fazerLigacao();
export class Celular {
// ...
constructor(
marca: string,
modelo: string,
capacidadeMemoriaInterna: number,
qualidadeCamera: number,
tipo: string
) {
this.marca = marca;
this.modelo = modelo;
this.capacidadeMemoriaInterna = capacidadeMemoriaInterna;
this.qualidadeCamera = qualidadeCamera;
this.tipo = tipo;
this.nivelBateria = 100;
}
}
import { Celular } from "./models/Celular";
let iphone13 = new Celular(
"Apple",
"iPhone 13",
128,
12,
"Smartphone"
);
iphone13.fazerLigacao();
export class Celular {
private _modelo: string;
public readonly _capacidadeCamera: number;
public set modelo(modelo: string) {
this._modelo = modelo;
}
public get modelo(): string {
return this._modelo;
}
}
export default Ave extends Animal {
private _aquatico: boolean;
constructor(
nome: string,
peso: number,
cor: string,
raca: string,
aquatico: boolean
) {
super(nome, peso, cor, raca);
this._aquatico = aquatico;
}
public voar(): void {
console.log(`${this.nome} voando...`);
}
}
let pombo = new Ave(...);
export abstract class Animal {
//...
abstract locomover(metros: number): void;
}
export class Ave extends Animal {
aquatico: boolean;
//...
public botarOvo() {
console.log(this.nome, "Botando ovo...");
}
emitirSom(som: string): void {
throw new Error("Method not implemented.");
}
locomover(passos: number): void {
throw new Error("Method not implemented.");
}
}