Compartilhar via


Declaração de pacote

Cria um pacote de JScript que permite a embalagem conveniente dos componentes nomeados.

package pname {
   [[modifiers1] pmember1]
   ...
   [[modifiersN] pmemberN]
}

Argumentos

  • pname
    Obrigatório. O nome do pacote que está sendo criado.

  • modifiers1,..., modifiersN
    Opcional. Modificadores de controlam a visibilidade e o comportamento da pmember.

  • pmember1,..., pmemberN
    Opcional. Definição de classe, interface ou enumeração.

Comentários

Apenas classes, interfaces e enumerações são permitidas dentro de um pacote. Membros do pacote podem ser marcados com modificadores de visibilidade para ajudar a controlar o acesso ao membro. Em particular, o internal modificador marca um membro como sendo visível somente dentro do pacote atual.

Depois que um pacote foi importado, os membros do pacote podem ser acessados diretamente pelo nome, exceto quando um membro tem o mesmo nome que outra declaração visível para o escopo de importação. Quando isso acontece, o membro deve ser qualificado usando seu nome de pacote.

JScript não oferece suporte a declarar pacotes aninhados; declarações de classe, interface e enumeração somente podem aparecer dentro de um pacote. Um nome de pacote pode incluir um '.' caractere para indicar que ele deve ser considerado como aninhado em outro pacote. Por exemplo, um pacote chamado Outer e um pacote chamado Outer.Inner não é necessário ter um relacionamento especial entre si; eles são os dois pacotes no escopo global. No entanto, os nomes sugerem que Outer.Inner deve ser considerado como aninhados dentro de Outer.

Exemplo

O exemplo a seguir define três pacotes simples e importa os namespaces no script. Normalmente, cada pacote seria em um assembly separado para permitir a manutenção e a distribuição do conteúdo do pacote.

// Create a simple package containing a class with a single field (Hello).
package Deutschland {
   class Greeting {
      static var Hello : String = "Guten tag!";
   }
};
// Create another simple package containing two classes.
// The class Greeting has the field Hello.
// The class Units has the field distance.
package France {
   public class Greeting {
      static var Hello : String = "Bonjour!";
   }
   public class Units {
      static var distance : String = "meter";
   }
};
// Use another package for more specific information.
package France.Paris {
   public class Landmark {
      static var Tower : String = "Eiffel Tower";
   }
};

// Declare a local class that shadows the imported classes.
class Greeting {
   static var Hello : String = "Greetings!";
}

// Import the Deutschland, France, and France.Paris packages.
import Deutschland;
import France;
import France.Paris;

// Access the package members with fully qualified names.
print(Greeting.Hello);
print(France.Greeting.Hello);
print(Deutschland.Greeting.Hello);
print(France.Paris.Landmark.Tower);
// The Units class is not shadowed, so it can be accessed with or without a fully qualified name.
print(Units.distance);
print(France.Units.distance);

A saída desse script é:

Greetings!
Bonjour!
Guten tag!
Eiffel Tower
meter
meter

Requisitos

Versão.NET

Consulte também

Referência

Instrução import

Modificador interno

Outros recursos

Modificadores