Relações
|
Uma relação é um tipo da referência e contem somente membros abstratos. Os membros da relação podem ser eventos, métodos, propriedades e indicadores. Mas a relação contem somente a declaração para seus membros. Toda a execução deve ser colocada na classe que os realiza. A relação não pode conter constantes, campos de dados, construtores, destructors e membros de estática. Todas as declarações do membro dentro da relação são implicitamente público.
|
Definindo uma relação:
Deixar-nos olhar um exemplo simples para relações do c#. Neste exemplo a relação declara a funcionalidade baixa do objeto do nó.
|
interface INode
{
string Text
{
get;
set;
}
object Tag
{
get;
set;
}
int Height
{
get;
set;
}
int Width
{
get;
set;
}
float CalculateArea();
}
|
|
A relação acima do INode declarou algumas propriedades abstratas e função que devem ser executadas pelas classes derivadas.
|
Amostra para derivar uma classe usando-se A.A. #. Relação líquida
|
public class Node : INode
{
public Node()
{}
public string Text
{
get
{
return m_text;
}
set
{
m_text = value;
}
}
|
|
private string m_text;
public object Tag
{
get
{
return m_tag;
}
set
{
m_tag = value;
}
}
|
|
private object m_tag = null;
public int Height
{
get
{
return m_height;
}
set
{
m_height = value;
}
}
private int m_height = 0;
public int Width
{
get
{
return m_width;
}
set
{
m_width = value;
}
}
private int m_width = 0;
public float CalculateArea()
{
if((m_width<0)||(m_height<0))
return 0;
return m_height*m_width;
}
}
|
|
Agora o código acima tem criado o nó da A.A. # da classe que herda da relação do c# do INode e executa todos seus membros. Um ponto muito importante a ser recordado sobre relações do c# é, se alguma relação for herdada, o programa deve executar todos seus membros declarados. Se não o compilador do c# joga um erro.
|
O código acima era um exemplo simples do uso da relação do c#. Agora isto tem que ser seguido com alguns detalhes avançados do edifício da relação em C#. Rede. O exemplo precedente usaram somente nomes dos métodos ou as propriedades que têm os mesmos nomes que na relação. Mas há um outro método alternativo para escrever a execução para os membros na classe. Usa o método ou o nome de propriedade cheio.
|
Inheritance múltiplo usando relações de C#:
|
A característica seguinte que necessita obviamente ser explicada é inheritance múltiplo usando relações do c#. Isto pode ser feito usando a classe da criança que herda de todo o número de relações do c#. O inheritance pode também acontecer com uma combinação de A.A. #. Relações líquidas da classe e do c#. Deixar-nos agora vêem uma parte pequena de código que nos demonstram inheritance múltiplo usando somente relações como tipos de dados do pai
|
class ClonableNode : INode,ICloneable
{
public object Clone()
{
return null;
}
// INode members
}
|
|
O exemplo acima criou uma classe ClonableNode. Executa toda a funcionalidade da relação do INode na mesma maneira que foi feita na classe do nó. Também realiza o método do Clone somente um artigo da relação de IClonable da biblioteca de .NET.
|
é o operador para C#. Relações líquidas -
|
No último um operador novo de C# que possa ser usado definir que a classe deve ser explicada. É “é “operador. Olhar a seguinte parte de código:
|
if(nodeC is INode)
Console.WriteLine("nodeC is object of INode type");
else
Console.WriteLine("nodeC isn't object of INode type");
|
|
No nodeC do exemplo o objeto estêve criado como o tipo de ClonableNode, mas quando nós funcionamos o programa “se o operador” retornasse verdadeiro. Significa que o nodeC é também do tipo do INode.
|
Keywords c# Interfaces, vb net interfaces, c# vb net, windows forms c#, visual studio net c#,
c# source code, c# net framework, c# sample code, c# web service, c# asp net,
visual studio c#, net compact framework c#, visual basic c#, c# dot net, microsoft net c#,
interfaces c#, c# compact framework, interfaces in c#
|