quarta-feira, 5 de dezembro de 2012

Criando Classes no Csharp


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
}


Nenhum comentário:

Postar um comentário