Classes no c#
Classe pode ser declarada por
diversos modificadores de classes. Modificadores de classe podem ser public, protected, internal, private, sealed, abstract
ou new. Eles também
especificam a acessibilidade de uma classe.
Vamos ver todos os modificadores internos de uma classe
associados a ela.
1.
Public
O
modificador public indica que a classe é acessível a todos os objetos. Para
especificar este modificador, você usa a palavra-chave public na declaração de
classe.
Public class Sistema { }
2.
Protected
O
modificador protected indica que somente as classes derivadas da classe base
podem acessar seus membros. Para especificar este modificador, você usa a
palavra-chave protected na declaração da classe.
Protected class Sistema { }
3.
Internal
O
modificador internal indica que os membros da classe não são acessíveis fora do
programa. Para especificar este modificador, você usa a palavra-chave internal
na declaração da classe.
Internal class Sistema { }
4.
Private
O
modificador private indica que os membros da classe são acessíveis somente
dentro da classe onde são declarados.
Para
especificar este modificador, você usa a palavra-chave private na declaração da
classe.
Private class Sistema { }
5.
Sealed
Uma
classe que inclui o modificador sealed não pode ser derivada de outra classe.
No
exemplo exibido abaixo, o compilador gera um erro porque você não pode derivar
a classe Test da classe sealed Demo.
Sealed class Sistema { }
Class Test: Demo { }
// Error cannot derive
fr4om class Demo
6.
Abstract
A classe que inclui o modificador abstract é chamada
de classe abstract.
Classes abstratas possuem apenas o nome e os
parâmetros dos seus métodos, mas não sua implementação. A idéia é que criemos
uma classe derivada da classe abstrata
para que a implementação seja feita. Por causa disso, você não pode criar uma
instância de uma classe abstract e usá-la com um modificador sealed.
No exemplo exibido a seguir, a classe abstract Draw
fornece um método Paint().
A classe Draw declara o método Paint(), mas não o
implementa.Consequente, você precisa definir o método Paint() na classe
derivada shape.
Public abstract class Draw
{
Public abstract void Paint ();
}
Class shape:Draw
{
Public override void Paint()
{
System.Console.Writeline(“console”);
}
Public static void Main()
{
Shape var=new shape();
var.Paint();
}
}
7.
New
Um
membro da classe base pode ter o mesmo nome ou assinatura que o membro da
classe derivada.
Consequentemente,
o membro da classe derivada encapsula o membro da classe base. Encapsular um
membro errado gera um aviso durante a compilação.
Para
ocultar o aviso, você precisa usar o modificador new para declarar o membro
herdado.
No
exemplo exibido abaixo, o membro new f() na classe Derived_Test encapsula o
membro f() na classe Test. Nas próximas páginas você irá aprender sobre membros
de classes.
Class Test
{
Public void f( ) { }
}
Class derived_Teste:
Test
{
New
public void f( ) { }
//no
warning by the compiler
}