Como Puxar Um Atributo

Índice:

Como Puxar Um Atributo
Como Puxar Um Atributo

Vídeo: Como Puxar Um Atributo

Vídeo: Como Puxar Um Atributo
Vídeo: Separando polígonos a partir de um atributo no QGIS (multipartes para partes simples) 2024, Maio
Anonim

Ao trabalhar com objetos e outras instâncias de uma classe, acessar atributos é uma das operações usuais para um programador. Obter acesso a certos dados armazenados em objetos pode ser difícil, dados os métodos de segurança usados para eles. Portanto, os atributos fechados pelos especificadores privados e protegidos podem ser retirados de uma instância de classe apenas em um método pertencente a um objeto da mesma classe ou a uma classe filha (para protegida).

Como puxar um atributo
Como puxar um atributo

Instruções

Passo 1

Crie um objeto ou um ponteiro para uma instância da classe cujo atributo você precisa em seu programa. A construção padrão para tal operação é CMyClass myObj1. Às vezes, para inicializar um objeto, você deve passar certos parâmetros para o construtor da classe. Nesse caso, o registro de criação do objeto pode ser assim: CMyClass myObj1 (param1, param2, param3), onde CMyClass é o nome da classe, myObj1 é o nome do objeto que está sendo criado e todos os parâmetros solicitados pelo construtor são listados em suportes. Um ponteiro para uma instância de classe é criado da seguinte maneira: CMyClass * pObj1 = new CMyClass (param1, param2, param3).

Passo 2

A maneira mais simples de chamar um atributo é referir-se a ele diretamente em qualquer lugar do programa. No entanto, isso só é possível para dados abertos descritos em uma classe com o modificador público. O acesso direto por meio de um objeto se parece com isto: myObj1.attr1, onde attr1 é um atributo desta classe. Para um ponteiro, a chamada seria: pObj1–> attr1.

etapa 3

Se o atributo ao qual você precisa se referir tiver o status oculto e for descrito em uma classe com o modificador privado, o acesso a ele só será possível a partir de um método pertencente à mesma classe. O método ou função da classe deve ter o status público público. Adicione um novo método à classe, onde escreva o processamento do atributo necessário. Nesse caso, os parâmetros podem ser passados para a função, dependendo do valor do qual certas ações são realizadas. A própria função também pode retornar dados, como o conteúdo de um atributo. Código de programa C ++ que implementa ambas as funções para trabalhar com um atributo privado: class CMyClass {protected: int attr1; // atributo público: void funcA1 (int param) {attr1 = param; } int funcA2 () {return attr1; }};

Passo 4

Assim, para definir o atributo privado attr1 para o valor que você precisa, chame um método da mesma classe usando o objeto criado anteriormente: myObj1.funcA1 (10) - por uma operação implícita semelhante, o valor 10 é colocado no atributo attr1. Ao trabalhar com um ponteiro para uma instância de uma classe, uma operação semelhante será semelhante a esta: рObj1–> funcA (10). Para recuperar o atributo privado attr1 e descobrir o valor armazenado nele, chame outro método da classe: int Res = myObj1.funcA2 (). Neste caso, a variável inteira Res receberá o valor da variável de classe oculta.

Etapa 5

Se você precisar chamar um atributo com status protegido em todos os objetos de classes filhas, consulte sua variável diretamente. Porém, ao trabalhar em funções de classes estrangeiras, o acesso aos dados protegidos deverá ser obtido da forma descrita acima.

Etapa 6

Para chamar um atributo sem criar um objeto, declare sua variável na classe como estática usando a seguinte construção: static int attr1. Nesse caso, você pode retirar o atributo em qualquer lugar no código do programa, especificando a entrada: CMyClass:: attr1.

Recomendado: