Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Dominando Herança em C#: Construa Código Reutilizável e Manutenível

Uma das mais importantes conceitos em POO é herança. Permite definir classe em termos de outra, facilitando criação e manutenção, reutilizando funcionalidade e acelerando implementação.

Em vez de escrever novos membros, o programador designa que a nova classe herde membros de uma existente. A existente é classe base, a nova é classe derivada.

Herança implementa relação É-UM (IS-A): mamífero É-UM animal, cão É-UM mamífero → cão É-UM animal.

Classes Base e Derivadas

Uma classe pode derivar de mais de uma classe ou interface (herança múltipla via interfaces).

Sintaxe:

<acesso> class <classe_base> { ... }
class <classe_derivada> : <classe_base> { ... }

Exemplo: Shape e Rectangle

using System;

namespace InheritanceApplication
{
    class Shape
    {
        public void SetWidth(int w) { width = w; }
        public void SetHeight(int h) { height = h; }
        protected int width, height;
    }

    class Rectangle : Shape
    {
        public int GetArea() { return width * height; }
    }

    class RectangleTester
    {
        static void Main(string[] args)
        {
            Rectangle rect = new Rectangle();
            rect.SetWidth(5);
            rect.SetHeight(7);
            Console.WriteLine("Total area: {0}", rect.GetArea());
            Console.ReadKey();
        }
    }
}

Saída: Total area: 35

Inicializando Classe Base

Classe derivada herda membros da base. Objeto da superclasse deve ser criado antes do subclass. Use lista de inicialização de membro:

class Rectangle
{
    protected double length, width;
    public Rectangle(double l, double w) { length = l; width = w; }
    public double GetArea() { return length * width; }
    public void Display() { ... }
}

class Tabletop : Rectangle
{
    private double cost;
    public Tabletop(double l, double w) : base(l, w) { }
    public double GetCost() { return GetArea() * 70; }
    public void Display() { base.Display(); Console.WriteLine("Cost: {0}", GetCost()); }
}

Herança Múltipla em C#

C# não suporta herança múltipla de classes. Use interfaces para implementá-la.

Exemplo com Interface

interface PaintCost { int GetCost(int area); }

class Rectangle : Shape, PaintCost
{
    public int GetArea() { return width * height; }
    public int GetCost(int area) { return area * 70; }
}

Saída: Total area: 35 / Total paint cost: $2450

Linguagem C

  1. Classes e Objetos em C#: Fundamentos para POO Robusta
  2. Palavra-chave Static em C#: Dominando Variáveis, Métodos e Classes Estáticas
  3. Entendendo Classes Aninhadas em C#: Definição, Uso e Herança
  4. Dominando Templates de Classe em C++: Um Guia Prático
  5. Dominando Herança em Python: Conceitos, Sintaxe e Exemplos Práticos
  6. Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
  7. Dominando Java ObjectOutputStream: Serialização, Métodos e Exemplos Práticos
  8. Dominando Java Generics – Construindo Código Reutilizável e Type-Safe
  9. Dominando Operações de Arquivo em Java com java.io – Criação, Leitura, Escrita e Exclusão
  10. Entendendo a Estrutura de Programas C#: Componentes Essenciais e Exemplo