Instância Protegida
Boa noite, senhores.
Estou documentando um framework que cria instâncias protegidas de algumas classes. Nunca vi este termo antes, no ambiente Delphi. Como o framework possui detalhes de Java, penso que os desenvolvedores deste ambiente podem conhecê-lo. Agradeço esclarecimentos ou literatura a respeito.
Henrique
Estou documentando um framework que cria instâncias protegidas de algumas classes. Nunca vi este termo antes, no ambiente Delphi. Como o framework possui detalhes de Java, penso que os desenvolvedores deste ambiente podem conhecê-lo. Agradeço esclarecimentos ou literatura a respeito.
Henrique
José Silva
Curtidas 0
Respostas
Carlos Mazzi
02/06/2010
Olá Jose, tudo bem? Segue aqui uma breve descricao, para o entendimento de classes protegidas:
A instância é objeto criado com base em uma classe definida. Este conceito é peculiar, e leva algum tempo para se fixar. Uma descrição abstrata da dualidade classe-instância: a classe é apenas uma matriz, que especifica objetos, mas que não pode ser utilizada diretamente; a instância representa o objeto concretizado a partir de uma classe. Eu costumo dizer que a classe é `morta', existindo apenas no código-fonte, e que a instância é `viva', porque durante a execução do programa são as instâncias que de fato `funcionam' através da invocação de métodos e manipulação de atributos.
Conceitualmente, a instância possui duas propriedades fundamentais: a classe a partir da qual foi criada, que define suas propriedades e métodos padrão, e um estado, que representa o conjunto de valores das propriedades e métodos definidos naquela instância específica. A instância possui um ciclo de vida: é criada (e neste momento seu construtor é invocado), manipulada conforme necessário, e destruída quando não for mais útil para o programa. O estado da instância evolui ao longo do seu ciclo de vida: seus atributos são definidos e têm seu valor alterado através de seus métodos e de manipulação realizada por outros objetos.
Métodos públicos, amigáveis, protegidos e privados
Algumas palavras-chaves são diponíveis para ampliar ou restringir o acesso a um método. Estas palavras-chaves são acrescentadas à declaração do método.
Um método para o qual não foi especificada nenhuma destas palavras-chaves é dito amigável e pode ser chamado por todas as classes que pertencem ao mesmo pacote.
Um método que pode ser acessado por qualquer outra classe é dito público, e é declarado usando-se a palavra-chave public.
Um método que pode ser acessado somente por métodos da própria classe é dito privado, e é declarado usando-se a palavra-chave private.
Um método que, além de poder ser acessado por todas as classes do mesmo pacote, também pode ser acessado pelas subclasses da classe na qual ele é declarado, é dito protegido e é declarado usando-se a palavra-chave protected.
Exemplo: package algumPacote; // a classe definida neste arquivo pertence a algumPacote public class NomeDaClasse
{
public int mehtodo1( )
{
... // acessível por qualquer classe
} protected int mehtodo2( )
{
... // acessível pelas subclasses de NomeDaClasse
} int mehtodo3( )
{
... // acessível pelas classes deste pacote
} private int mehtodo4( )
{
... // acessível somente pelos métodos de NomeDaClasse
}
} Leia na integra em: https://www.if.ufrgs.br/~betz/jaulas/aula3o.htm , abracos++
Conceitualmente, a instância possui duas propriedades fundamentais: a classe a partir da qual foi criada, que define suas propriedades e métodos padrão, e um estado, que representa o conjunto de valores das propriedades e métodos definidos naquela instância específica. A instância possui um ciclo de vida: é criada (e neste momento seu construtor é invocado), manipulada conforme necessário, e destruída quando não for mais útil para o programa. O estado da instância evolui ao longo do seu ciclo de vida: seus atributos são definidos e têm seu valor alterado através de seus métodos e de manipulação realizada por outros objetos.
Métodos públicos, amigáveis, protegidos e privados
Algumas palavras-chaves são diponíveis para ampliar ou restringir o acesso a um método. Estas palavras-chaves são acrescentadas à declaração do método.
Um método para o qual não foi especificada nenhuma destas palavras-chaves é dito amigável e pode ser chamado por todas as classes que pertencem ao mesmo pacote.
Um método que pode ser acessado por qualquer outra classe é dito público, e é declarado usando-se a palavra-chave public.
Um método que pode ser acessado somente por métodos da própria classe é dito privado, e é declarado usando-se a palavra-chave private.
Um método que, além de poder ser acessado por todas as classes do mesmo pacote, também pode ser acessado pelas subclasses da classe na qual ele é declarado, é dito protegido e é declarado usando-se a palavra-chave protected.
Exemplo: package algumPacote; // a classe definida neste arquivo pertence a algumPacote public class NomeDaClasse
{
public int mehtodo1( )
{
... // acessível por qualquer classe
} protected int mehtodo2( )
{
... // acessível pelas subclasses de NomeDaClasse
} int mehtodo3( )
{
... // acessível pelas classes deste pacote
} private int mehtodo4( )
{
... // acessível somente pelos métodos de NomeDaClasse
}
} Leia na integra em: https://www.if.ufrgs.br/~betz/jaulas/aula3o.htm , abracos++
GOSTEI 0