123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | public class Exercicio1 { /* O enunciado é vago e acaba dando mais trabalho que algo específico * O que colocar aqui? Propriedades físicas apenas? atributos como religião, profissão, etc? * ou propriedades provocadas por doenças crônicas como cardíaco, asmático, epilético, hipertenso e diabético? * Cadeirante? requer correção visual?* E os medos? claustrofóbico, agorafóbico, acrofóbico, etc?* Eu vou colocar apenas algumas como exercício, porque quanto mais eu penso mais propriedades possíveis aparecem * * Além disso, eu não consigo imaginar um "método" para "pessoa". Talvez se fosse "androide"...*/public class Pessoa { String nome; String sexo; //biologicamente só existem dois, mas usar "true" e "false" aqui gera um polêmica desnecessária String identidadeSexual; //Melhor criar outras propriedades do que bagunçar sexo String prefSexual; //O Tinder tem algo assim mas chama de "interesse em" short idade; String TipoSanguineo; //temperatura e pressão são itens tão facilmente mensuráveis que realmente podem constar em alguns cadastros médicos (urgência em hospitais); short temperatura; short pressao; boolean cadeirante; String corOlhos; String corPele; String corCabelos; float peso; float altura; String estadoCivil; String profissao; String escolaridade; String religiao; //relevante em um cadastro militar (como será enterrado?) String tatuagens; //relevante em um cadstro policial} //Algumas propriedades de um carro só são importantes do ponto de vista comercial/legal. //Outras só são importantes do ponto de vista da automação//Não consigo pensar em nenhum método que não seja de automação public class Carro { String fabricante; String modelo; String placa; String codRenavam; short ano; String cor; byte numPortas; boolean arCond; boolean travasElet; boolean vidrosElet; boolean transmissao; String tipoCombustivel; //alcool, gasolina, eletrico, hibrido... //estes atributos precisam ser definidos como private //mas não chegamos a essa parte da aula ainda short velocidade; short RPM; short tempMotor; short tempInterna; short combustivelRestante; short posicaoChave; boolean statusAlternador; boolean statusLubrificante; boolean statusFreioMao; boolean statusFreio; short getVelocidade () {return velocidade;}; short getRPM () {return RPM;}; short getTempMotor () {return tempMotor;}; short getTempInterna () {return tempInterna;}; short getCombustivelRestante () {return combustivelRestante;}; boolean getStatusAlternador () {return statusAlternador;}; boolean getStatusLubrificante () {return statusLubrificante;}; boolean getStatusFreioMaio () {return statusFreioMao;}; boolean getStatusFreio () {return statusFreio;}; short getPosicaoChave() {return posicaoChave;}; //0=desligado, 1=ligado, 2=partida void acelerar (int valor) {}; //valores negativos implicam frenagem void frear () {}; //imediatamente void abrirPorta (byte numPorta) {}; void acionarTravas (boolean locked) {}; //estou supondo que todas as travas sejam automaticamente ativadas ou desativadas ao memso tempo void engrenarMarcha (byte numMarcha) {}; void ligarLimpador (byte numLimpador, byte velLimpador) {};//velLimpador=0 desliga o limpador void ligarFarois (byte numFarol, byte intensidade) {};//0=desligado void ligarLuzAlta (boolean x) {}; void ligarLanterna (byte numLanterna) {}; void ligarDesembacador (byte numDesembacador) {}; void ligarArCondicionado (byte intensidade) {}; //0=desligado void ligarAlerta (boolean x){}; void acionarBuzina (boolean x){}; void LigarAlarme (boolean x){}; void AcionarVidroElet (byte numVidro, boolean subir){}; //subir=false desce }} |