Como usar subclasses em java
Você pode usar subclasses em Java. Criando subclasses é bom, mas você não ganha nada destas subclasses a menos que você escrever código para usá-los. Então aqui, você explorar o código que utiliza subclasses.
Agora chegou o momento para que você possa classificar-se como quer uma pessoa de tipo F, uma pessoa tipo-P, ou uma pessoa tipo-T.
- Uma pessoa tipo-M quer ver os fundamentos. (A carta F apoia fundamentos.) “Mostre-me um programa que estabelece os princípios em sua barest, forma mais básica”, diz a pessoa tipo-F. Uma pessoa Tipo-F não está preocupado com sinos e assobios. Os sinos vir mais tarde, e os apitos pode nunca vir. Se você é uma pessoa de tipo F, você quer ver um programa que utiliza o
Empregado em tempo integral
ePartTimeEmployee
subclasses e então se move para fora do seu caminho para que você possa obter algum trabalho feito. - Uma pessoa tipo-P quer aplicações práticas. (A carta P apoia prático.) Tipo-P pessoas precisam ver ideias ao contexto de outra forma, as idéias flutuar muito rapidamente. “Mostre-me um programa que demonstra a utilidade do
Empregado em tempo integral
ePartTimeEmployee
subclasses “, diz a pessoa tipo-P. “Eu não tenho nenhum uso para as suas abstrações fedorentos. Quero exemplos da vida real, e eu quero que eles agora!” - Uma pessoa Tipo-T quer teste o código no
Empregado em tempo integral
ePartTimeEmployee
subclasses. Testando o código significa colocar o código através de seus ritmos - verificar a precisão do output quando a entrada é comum, quando a entrada é inesperado, e mesmo quando a entrada é completamente irrealista. Além do mais, a pessoa tipo-T quer usar um padrão, esboço facilmente reconhecível para o código de teste para que outros programadores podem entender rapidamente os resultados do teste. A pessoa tipo-T cria testes que utilizam o JUnitEmpregado em tempo integral
ePartTimeEmployee
subclasses.
O código a seguir, que é para a multidão tipo-F, é magra e simples e faz uma boa leitura de deitar.
Se você é uma pessoa do tipo P ou do tipo-T, visite allmycode.com. O local contém exemplos para satisfazer tipo-P e os leitores tipo-T.
Este código mostra um programa de esqueleto que usa as subclasses Empregado em tempo integral
e PartTimeEmployee
. Aqui está a saída do programa.
DoPayrollTypeF classe pública {
void main (args String []) public static {
FullTimeEmployee ftEmployee = new FullTimeEmployee () -
ftEmployee.setName ("Barry Burd") -
ftEmployee.setJobTitle ("CEO") -
ftEmployee.setWeeklySalary (5000.00) -
ftEmployee.setBenefitDeduction (500,00) -
ftEmployee.cutCheck (ftEmployee.findPaymentAmount ()) -
System.out.println () -
PartTimeEmployee ptEmployee = new PartTimeEmployee () -
ptEmployee.setName ("Steve Surace") -
ptEmployee.setJobTitle ("Motorista") -
ptEmployee.setHourlyRate (7,53) -
ptEmployee.cutCheck (ptEmployee.findPaymentAmount (10)) -
}
}
Para entender este código, você precisa manter um olho em três classes: Empregado
, Empregado em tempo integral
, e PartTimeEmployee
.
A primeira metade do código trata de um funcionário em tempo integral. Observe quantos métodos estão disponíveis para uso com o ftEmployee
variável? Por exemplo, você pode chamar ftEmployee.setWeeklySalary
Porque ftEmployee
tem o tipo Empregado em tempo integral
. Você também pode ligar ftEmployee.setName
porque o Empregado em tempo integral
classe estende a Empregado
classe.
Porque cutCheck
é declarado na Empregado
classe, você pode chamar ftEmployee.cutCheck
. Mas você também pode ligar para ftEmployee.findPaymentAmount
porque um findPaymentAmount
método é no Empregado em tempo integral
classe.
Fazendo tipos de correspondência
Olhe novamente para a primeira metade do código. Tome nota especial de essa última afirmação - aquele em que o funcionário em tempo integral é realmente cortar um cheque. A declaração constitui uma boa longa cadeia de valores e seus tipos,. Você pode ver isso lendo a declaração de dentro para fora:
- Método
ftEmployee.findPaymentAmount
é chamado com uma lista de parâmetros vazia. Isso é bom porque ofindPaymentAmount
método leva sem parâmetros. - o
findPaymentAmount
método retorna um valor do tipoDuplo
. - o
Duplo
valor queftEmployee.findPaymentAmount
retorno é passada para o métodoftEmployee.cutCheck
. Isso é bom porque ocutCheck
método leva um parâmetro do tipoDuplo
.
Confira a ilustração gráfica fantasiosa.
Sempre alimente um método os tipos de valor que ele quer na sua lista de parâmetros.
A segunda metade da história
Na segunda metade do código, o código cria um objecto de tipo PartTimeEmployee
. A variável de tipo PartTimeEmployee
pode fazer algumas das mesmas coisas que um Empregado em tempo integral
variável pode fazer. Mas o PartTimeEmployee
classe não tem o setWeeklySalary
e setBenefitDeduction
métodos. Em vez disso, o PartTimeEmployee
classe tem a setHourlyRate
método. Assim, a linha próxima ao último é uma chamada para o setHourlyRate
método.
A última linha do código é de longe o mais interessante. Nessa linha, o código dá o número 10
(O número de horas trabalhadas) ao findPaymentAmount
método. Compare isto com a chamada anterior a findPaymentAmount
- a chamada para o funcionário em tempo integral no primeiro semestre do código. Entre as duas subclasses, Empregado em tempo integral
e PartTimeEmployee
, Há dois diferentes findPaymentAmount
métodos. Os dois métodos têm dois tipos diferentes de listas de parâmetros:
- o
Empregado em tempo integral
classe defindPaymentAmount
método leva sem parâmetros. - o
PartTimeEmployee
classe defindPaymentAmount
método leva umint
parâmetro.
Este é o par para o curso. Encontrar o valor do pagamento para um trabalhador a tempo parcial não é o mesmo que encontrar o valor do pagamento para um funcionário em tempo integral. o salário de um trabalhador a tempo parcial muda a cada semana, dependendo do número de horas que o empregado trabalha em uma semana. pagar a tempo inteiro do empregado permanece o mesmo a cada semana. Então o Empregado em tempo integral
e PartTimeEmployee
aulas ambos têm findPaymentAmount
métodos, mas o método de cada classe funciona de forma bastante diferente.