Classes e objetos "C ++" 1

  • Introdução à aula

Todos nós sabemos que a linguagem C é uma linguagem orientada a processos e C ++ é uma linguagem orientada a objetos, então o que é orientado a processos e a objetos? Orientado a processos é focar no processo, analisar as etapas para resolver o problema e, gradualmente, resolver o problema chamando funções, enquanto orientado a objetos se concentra no objeto, dividindo uma coisa em diferentes objetos e completando-o pela interação entre os objetos. ???????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????
Em linguagem C, usamos a palavra-chave struct para definir estruturas. Estruturas só podem definir variáveis. O que devemos fazer se definirmos funções? Em C ++, podemos definir não apenas variáveis, mas também funções em estruturas, e preferimos usá-las em C ++ A classe de palavra-chave é usada em seu lugar.

  • Definição de classe

Como definir uma classe? O formato é o seguinte

class classname//类的名字
{
    
    
	//类体:成员变量和成员函数组成
};

Os elementos de uma classe são chamados de membros da classe, os dados da classe são chamados de atributos ou variáveis ​​de membro da classe e as funções da classe são chamadas de métodos ou funções de membro da classe. Prefiro chamá-los de variáveis ​​de membro e funções de membro, respectivamente.
Existem duas maneiras de definir uma classe:
1. A declaração e a definição são todas colocadas no corpo da classe. Deve-se observar que se a função de membro for definida na classe, o compilador pode tratá-la como uma função embutida.

class person
{
    
    
	public:
	void show()//声明和定义全部放在类体中
	{
    
    
		cout<<_name<<"-"<<_sex<<"-"<<_age<<endl;
	}
	public:
	char* _name;
	char* _sex;
	int _age;
};

2. A declaração é colocada no arquivo de cabeçalho .h e a definição da classe é colocada no arquivo .cpp (método recomendado)

//person.h文件
class person
{
    
    
	public:
	void show()
	public:
	char* _name;
	char* _sex;
	int _age;
};

//person.cpp
#include"person.h"
void person::show()
{
    
    
	cout<<_name<<"-"<<_sex<<"-"<<_age<<endl;
}
  • Qualificadores de acesso de classe e embalagem

Primeiro, faça a pergunta: Qual é a diferença entre struct e class em C ++?
C ++ precisa ser compatível com a linguagem C, então em C ++ struct pode ser usado como uma estrutura e também pode definir classes. É o mesmo que a classe de definição de classe. A diferença é que o método de acesso padrão para membros em struct é público e o acesso padrão para membros da classe O método é privado.

Público e privado são introduzidos aqui, que são os qualificadores de acesso da classe.Há três tipos de qualificadores de acesso: público (público), privado (privado) e protegido (protegido).
Descrição do qualificador de acesso:

  • Membros modificados pelo público podem ser acessados ​​diretamente fora da classe
  • Os membros modificados protegidos e privados não podem ser acessados ​​diretamente fora da classe (os dois são semelhantes)
  • O escopo dos direitos de acesso começa a partir da posição onde o qualificador de acesso aparece até que o próximo qualificador de acesso apareça
  • Os qualificadores de acesso são úteis apenas em tempo de compilação. Depois que os dados são mapeados para a memória, não há diferença nos qualificadores de acesso.

Portanto, podemos pensar na maneira como o C ++ implementa o encapsulamento combinando as propriedades e métodos do objeto com uma classe para tornar o objeto mais completo e fornecer seletivamente sua interface para usuários externos por meio de permissões de acesso.
O encapsulamento é essencialmente um tipo de gestão, semelhante à gestão de um museu. Se uma pilha de relíquias culturais for colocada em um lugar para as pessoas verem, pode ter desaparecido após um período de tempo sem gestão, então o museu será construído para coletar essas relíquias culturais. Encapsuladas, o objetivo não é encapsular todas elas para que não possam ser vistas, então um canal de bilheteria é aberto para que todos possam visitar sob supervisão e nem todas as relíquias culturais podem ser vistas. Algumas relíquias culturais não podem ser vistos, isto é, eles estão completamente encapsulados. Isso é o mesmo que uma classe.Se você não quiser que as pessoas vejam, use private / protected para encapsular membros e abrir alguns membros públicos para acesso, então a essência do encapsulamento é um tipo de gerenciamento.

Acho que você gosta

Origin blog.csdn.net/NanlinW/article/details/103169380
Recomendado
Clasificación