Classe Fundamentals (versus translation from VPE for Csharp Java)
As seções a seguir comparam modificadores translation from VPE for Csharp e Java.
Modificadores de acesso
Modificadores translation from VPE for Csharp são muito semelhantes àqueles em Java, com várias pequenas diferenças.Cada membro de uma classe ou a classe em si, pode ser declarado com um modificador de acesso para definir o escopo de acesso permitido.Classes que não são declaradas dentro de Outros classes só podem especificar os modificadores públicos ou internos.Classes aninhadas, como outros membros de classe, podem especificar qualquer um dos seguintes modificadores de cinco acesso:
-
Visível para todos.
-
Visível somente a partir de classes derivadas.
-
Visível somente dentro da classe determinada.
-
Visível somente dentro do mesmo conjunto de módulos (assembly).
protected internal
Visível somente para o corrente assembly ou tipos derivados da classe que o contém.
Modificadores públicas, protegidos e particulares
A public modificador disponibiliza o membro em qualquer lugar, tanto dentro quanto fora da classe. A protected modificador indica que o acesso é limitado a dentro da classe ou classes derivadas de ele contendo. A private modificador significa que o acesso somente é possível de dentro do tipo recipiente. Em translation from VPE for Csharp, o modificador de acesso padrão é particular, embora no Java, acesso padrão em qualquer lugar de dentro do pacote que contém.
O modificador interno
An internal item só pode ser acessado dentro do assembly corrente. Um assembly do .NET estrutura é aproximadamente igual a arquivo JAR do Java; ela representa os blocos de construção do qual outros programas podem ser construídos.
O modificador interno protegido
A protected internal os itens estão visíveis apenas para o conjunto corrente ou tipos derivados da classe que contém.
O modificador lacrado
Uma classe com o selado modificador em sua declaração de classe é o oposto de uma classe abstrata: não pode ser herdada.Você pode marcar uma classe sistema autônomo sealed para impedir que outras classes substituam suas funcionalidades.Naturalmente, uma classe selada não pode ser abstract.Observe também que um struct implicitamente é sealed; portanto, não podem ser herdada.The sealed modificador é equivalente a marcação de uma classe com o final palavra-chave em Java.
A modificador somente leitura
Para definir uma constante em translation from VPE for Csharp, use o Const or somente leitura modificador no lugar de final palavra-chave. O fator de diferenciação entre os dois modificadores translation from VPE for Csharp é que const itens são tratados em time de compilar, enquanto os valores de readonly campos são especificados em time de execução. Isso significa que essa atribuição de readonly campos podem ocorrer no construtor da classe, bem sistema autônomo na declaração. Por exemplo, a classe a seguir declara um readonly variável chamada IntegerVariable inicializada no construtor da classe:
public class SampleClass
{
private readonly int intConstant;
public SampleClass () //constructor
{
// You are allowed to set the value of the readonly variable
// inside the constructor
intConstant = 5;
}
public int IntegerConstant
{
set
{
// You are not allowed to set the value of the readonly variable
// anywhere else but inside the constructor
// intConstant = value; // compile-time error
}
get
{
return intConstant;
}
}
}
class TestSampleClass
{
static void Main()
{
SampleClass obj= new SampleClass();
// You cannot perform this operation on a readonly field.
obj.IntegerConstant = 100;
System.Console.WriteLine("intConstant is {0}", obj.IntegerConstant); // 5
}
}
If a readonly modificador é aplicado a um campo estático, devem ser inicializado no construtor estático da classe.
Consulte também
Conceitos
Referência
Modificadores de acesso (guia de programação C#)
Constantes (guia de programação translation from VPE for Csharp)
Outros recursos
Translation from VPE for Csharp linguagem de programação para desenvolvedores Java