Lar Finanças Pessoais Programação java: Criando uma subclasse - manequins

Programação java: Criando uma subclasse - manequins

Vídeo: Curso POO Java #10b - Herança (Parte 1) 2024

Vídeo: Curso POO Java #10b - Herança (Parte 1) 2024
Anonim

Quando você escreve um programa orientado a objetos em Java, você começa pensando nos dados. Você está escrevendo sobre contas. Então, o que é uma conta? Você está escrevendo código para lidar com cliques de botão. Então, o que é um botão? Você está escrevendo um programa para enviar cheques de folha de pagamento aos funcionários. O que é um funcionário?

Neste exemplo, um funcionário é alguém com um nome e um título de trabalho. Claro, os funcionários têm outras características, mas, por enquanto, seguem o básico. O código nesta lista define o que significa ser um empregado.

importar java estável. lang. Sistema. Fora; Classe pública Employee {private String name; Private String jobTitle; public void setName (String nameIn) {name = nameIn;} public String getName () {return name;} public void setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} public String getJobTitle () {return jobTitle;} public void cutCheck (double amountPaid) {out. printf ("Pague na ordem de% s", nome); Fora. printf ("(% s) *** $", jobTitle); Fora. printf ("%,. 2fn", amountPaid);}}

Na listagem, uma classe Employee é definida. Você pode usar o que você define aqui e ampliar a definição para criar novas classes mais especializadas. Então, nesta próxima lista, você define uma nova classe - uma classe FullTimeEmployee.

classe pública FullTimeEmployee estende Employee {private double weeklySalary; Dupla benefício privadoDeducção; public void setWeeklySalary (double weeklySalaryIn) {weeklySalary = weeklySalaryIn;} public double getWeeklySalary () {return weeklySalary;} public void setBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} public double getBenefitDeduction () {return benefitDeduction;} public double findPaymentAmount () {return weeklySalary - benefitDeduction;}}

Olhando para a listagem, você pode ver que cada instância da classe FullTimeEmployee tem dois campos: weeklySalary e benefitDeduction. Mas esses são os únicos campos que cada instância do FullTimeEmployee tem? Não, eles não são.

A primeira linha diz que a classe FullTimeEmployee amplia a classe Employee existente. Isso significa que, além de ter um WeekSalary semanal e um benefícioDeduction, cada instância FullTimeEmployee também possui dois outros campos: name e jobTitle. Estes dois campos vêm da definição da classe Empregado, que você pode encontrar na primeira listagem.

Na segunda lista, a palavra mágica se estende . Quando uma classe expande uma classe existente, a classe de extensão herdará automaticamente a funcionalidade que está definida na classe existente.Portanto, a classe FullTimeEmployee herda os campos name e jobTitle.

A classe FullTimeEmployee também herda todos os métodos que são declarados na classe Employee - setName, getName, setJobTitle, getJobTitle e cutCheck. A classe FullTimeEmployee é uma subclasse da classe Employee.

Isso significa que a classe Employee é a

É quase (mas não bastante) como se a classe FullTimeEmployee fosse definida pelo código nesta listagem. Este código é falso, mas informativo.

importar java estável. lang. Sistema. Fora; classe pública FullTimeEmployee {private String name; Private String jobTitle; Private WeekSalary privado; Dupla benefício privadoDeducção; public void setName (String nameIn) {name = nameIn;} public String getName () {return name;} public void setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} public String getJobTitle () {return jobTitle;} public void setWeeklySalary (double weeklySalaryIn) {weeklySalary = weeklySalaryIn;} public double getWeeklySalary () {return weeklySalary;} public void setBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} public double getBenefitDeduction () {return benefitDeduction;} public double findPaymentAmount () {return weeklySalary - benefitDeduction;} public void cutCheck (double amountPaid) {out. printf ("Pague na ordem de% s", nome); Fora. printf ("(% s) *** $", jobTitle); Fora. printf ("%,. 2fn", amountPaid);}}

Por que esta lista de código falso? Bem, a principal diferença entre esta listagem e a situação de herança nas listagens anteriores é esta: Uma classe filho não pode fazer referência direta aos campos privados de sua classe pai. Para fazer qualquer coisa com os campos privados da classe pai, a classe filho deve chamar os métodos de acesso da classe pai.

De volta à segunda lista, chamar setName ("Rufus") seria legal, mas o nome do código = "Rufus" não seria. Se você acredita em tudo o que você lê na última listagem, você pensaria que esse código na classe FullTimeEmployee pode fazer o nome = "Rufus". Bem, não pode.

Você não precisa do Empregado. arquivo java em seu disco rígido para escrever o código que estende a classe Employee. Tudo o que você precisa é o arquivo Employee. classe.

Programação java: Criando uma subclasse - manequins

Escolha dos editores

Procurando texto e tags - manequins

Procurando texto e tags - manequins

Os documentos hTML contêm texto com o qual você está trabalhando e tags que determinar elementos do documento, como títulos, listas e parágrafos. Além disso, as tags HTML habilitam outros objetos, como imagens; folhas de estilo; sons; pequenos programas chamados applets; e filmes. Você geralmente não - pelo menos como você está começando - precisa se preocupar com ...

Suporte do navegador da Web para HTML5 - dummies

Suporte do navegador da Web para HTML5 - dummies

Se você estiver escrevendo o código HTML5, você precisa visualizar seu páginas da Web em um navegador da Web que interpretam o HTML5 corretamente. O problema é que o HTML5 não é apenas uma especificação, mas uma série de padrões diferentes, e vários navegadores oferecem diferentes versões de suporte. A maioria dos navegadores baseia-se em um conjunto menor de ferramentas chamado renderização ...

Dez sites realmente legais que você pode emular - dummies

Dez sites realmente legais que você pode emular - dummies

A criatividade no design do site é muitas vezes uma questão de vendo um conceito bem executado em outro site, emulando-o e modificando-o para atender às suas necessidades específicas. Se cada desenvolvedor tivesse que reinventar os conceitos usados ​​para criar um ótimo site, ninguém conseguiria fazer nada. É por isso que é importante criar uma lista ...

Escolha dos editores

Como lidar com os flashes quentes durante a menopausa - dummies

Como lidar com os flashes quentes durante a menopausa - dummies

As mulheres na menopausa geralmente experimentam ondas de calor onde repentinamente, A onda intensa de calor os supera. Siga estas dicas para reduzir os hot-flashes e seus efeitos: Faça exercícios regularmente. Apenas uma em cada 20 mulheres que exercitam regularmente sofrem de ondas de calor. Das mulheres que não se exercitam, uma das quatro sofreu calorias. Ligue o ventilador de teto ou ...

Sexo para Dummies Cheat Sheet - dummies

Sexo para Dummies Cheat Sheet - dummies

Se você se considera um Don Juan, uma Lady Chatterly ou um novato sexual , todo mundo pode tirar o maior prazer do sexo com um pouco mais de conhecimento. Você deve saber que as preliminares são algo que você deve levar em consideração com cada interação que você e seu parceiro têm, bem como como manter as coisas ...

Palavras e significados relacionados à menopausa - manequins

Palavras e significados relacionados à menopausa - manequins

, Embora este seja longe de ser uma lista completa de termos que você pode Ouça ser usado quando a menopausa está sendo discutida, os cinco termos essenciais a seguir devem ajudá-lo a entender o básico. HRT (terapia de reposição hormonal): um tratamento para suplementar os hormônios que você perde durante a menopausa - geralmente uma combinação de estrogênio, ...

Escolha dos editores

Como criar imagens HDR a partir de fotos SLR digitais em Photomatrix Pro-dummies

Como criar imagens HDR a partir de fotos SLR digitais em Photomatrix Pro-dummies

Como você pode esperar, você precisa usar um software HDR especializado para criar imagens HDR a partir de suas fotos dSLR. Depois de carregar seus suportes no software, o software HDR tira todos os dados e cria uma única imagem. Antes de começar, considere isso: guarde sua imagem se você não puder iniciar o mapeamento de tom imediatamente. Recarregar ...

Como combater o desfocagem em seus disparos SLR digitais - dummies

Como combater o desfocagem em seus disparos SLR digitais - dummies

A velocidade do obturador é exatamente como outra exposição dSLR elementos: tem um efeito colateral que não tem nada a ver com a exposição. Neste caso, o efeito colateral está impedindo o desfocagem. A velocidade do obturador deve ser rápida o suficiente para capturar objetos em movimento de forma acentuada e, se você estiver atirar de mão, a velocidade do obturador deve ser ...

Como corrigir problemas de fotos com histogramas em sua SLR digital - manequins

Como corrigir problemas de fotos com histogramas em sua SLR digital - manequins

Para identificar Problemas com fotos no seu dSLR, é uma boa idéia olhar para histogramas reais e descobrir o que eles mostram. Para economizar espaço, esses histogramas não são de tamanho total. O objetivo é comparar rapidamente os histogramas com a miniatura da foto, como faria na sua câmera, e ver em ...