Programação Orientada a Objetos com C# (Parte 4.9) – Herança » Link Sinergia
Programação Orientada a Objetos com C# (Parte 4.9) – Herança
Este tema da série Programação Orientada a Objetos com C# irá demandar mais publicações. Sendo assim, a numeração sequencial desta parte da série passou de 4.8 para 4.9 (vide título) e assim seguirá (4.10, 4.11…) mediante a necessidade de conclusão.
Com a exemplificação prática na utilização de características exclusivas para Classes Descendentes (vide post anterior), o próximo passo na Programação Orientada a Objetos com C# será dar continuidade a estes assuntos e suas variantes, vistas até o momento presente.
Partindo da classe Bilhete, deve-se clicar e modificar a área da classe, alterando-a para o seguinte código:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication { public class Bilhete { private string cor; public string Cor { get { return cor; } set { cor = value; } } private string tipo; public string Tipo { get { return tipo; } set { tipo = value; } } private decimal tarifa; public decimal CobraTarifa() { tarifa = 3.80m; return tarifa; } } }
public decimal CobraTarifa()
Foi criada a variável de instância tarifa como membro da classe Bilhete, sendo esta do tipo decimal. Além disto, a variável está com o modificador de acesso como private, ou seja, acessível apenas dentro da classe Bilhete.
Foi criado o método CobraTarifa() como membro da classe Bilhete, de maneira a prepará-lo para execução sem a passagem de parâmetros, além disso este método está com o modificador de acesso como public.
Ainda sobre o método CobraTarifa(), sua ação se estabelece de maneira a guardar e retornar a variável tarifa ou seja, o método CobraTarifa() encapsula a variável tarifa na classe Bilhete, levando ao retorno do valor fixo: 3.80.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication { class Program { static void Main(string[] args) { Unitario objUnitario = new Unitario(); objUnitario.Tipo = "Papel"; objUnitario.Cor = "Branca"; Console.WriteLine("O Bilhete Unitário é de {0}, possui a cor {1} e ao passar na catraca, cobra-se uma tarifa de: R${2}", objUnitario.Tipo, objUnitario.Cor, objUnitario.CobraTarifa()); Console.ReadKey(); } } }
Linha 18: encerramento do código.
Com a criação do objeto objUnitario é possível verificar que suas respectivas características funcionam independentemente, sendo fruto da Herança estabelecida entre sua classe de origem (Classe Unitario) e a classe Herdada (Bilhete).
Diante do cenário sistema metropolitano (estabelecido ao longo da série), o valor retornado do Método CobraTarifa() representa o valor da tarifa padrão cobrada e que dá direito a uma passagem através do Bilhete Unitário.
Esta publicação visa alterar as Classes Bilhete e Program de maneira que o leitor possa entender a herança com o compartilhamento de métodos, dispondo da execução destes entre outros elementos e conceitos da Orientação a Objetos descritos até o momento.
Na próxima publicação, ainda quarta parte da série: Programação Orientada a Objetos com C# será apresentado o décimo post sobre Herança, o leitor irá conferir a continuidade do tema entre outros aspectos relevantes a este assunto.
Link permanente para este artigo: http://linksinergia.com.br/2016/03/16/programacao-orientada-a-objetos-com-c-parte-4-9-heranca/