Cursos / Redes de Computadores / Programação Orientada a Objetos / Aula
export class Carro extends Veiculo{
public constructor(
readonly fabricante:string,
private _modelo:string,
private _cor: string,
potencia:number,
private _placa?: string,
private _numPortas?: number){
super(potencia)
if(_numPortas == undefined || _numPortas < 2){
this._numPortas = 2
}
}
public ligar(){
console.log("Carro ligado ...")
}
public get numPortas():number{
return this._numPortas;
}
public set numPortas(numPortas: number){
if(numPortas < 2){
this._numPortas = 2;
}else{
this._numPortas = numPortas;
}
}
public get cor(): string{
return this._cor;
}
public set cor(cor: string){
this._cor = cor;
}
public get modelo() : string {
return this._modelo;
}
public set modelo(modelo : string) {
this._modelo = modelo;
}
public get placa() : string {
return this._placa;
}
public set placa(placa : string) {
this._placa = placa;
}
public exibirInformacoes(){
console.log(`
INFORMAÇÕES:
Fabricante: ${this.fabricante},
Modelo: ${this._modelo},
Cor: ${this._cor},
Placa: ${this._placa},
Portas: ${this._numPortas},
Potência: ${this._motor.potencia}
`)
}
}
import { Direcao } from "./direcao";
import { Motor } from "./motor";
export class Veiculo{
protected _motor: Motor
protected _direcao: Direcao;
public constructor(potencia: number){
this._motor = new Motor(potencia);
this._direcao = new Direcao();
}
public ligar(){
console.log("Veiculo ligado ...")
}
public get motor() : Motor {
return this._motor
}
public set motor(motor : Motor) {
this._motor = motor;
}
public get direcao() : Direcao {
return this._direcao;
}
public set direcao(direcao : Direcao) {
this._direcao = direcao;
}
}
Versão 5.3 - Todos os Direitos reservados