Fundamentos de la programación en C++ [2]

Fundamentos de la programación en C++ [2]

1. El concepto de clase

1. Fuentes de clases e instancias

Un tipo es una abstracción, y las instancias de un tipo son entidades concretas.

1. Atributos

Los atributos son características de la instancia que nos interesa

2. Comportamiento

El comportamiento es lo que asumimos que una instancia puede hacerse a sí misma

2. Clases y objetos en el programa

La clase corresponde al tipo, el objeto corresponde a la instancia

1. Miembro de datos

Los miembros de datos de un objeto son variables cuyos valores representan propiedades
En la programación orientada a objetos, las propiedades de un objeto se simulan utilizando miembros de datos

2. Funciones de los miembros

En la programación orientada a objetos, el uso de funciones miembro es para simular el comportamiento de los objetos.

dos, clase

El programa C++ en modo orientado a objetos consta de definición de clase, definición de función miembro y programa de aplicación

1. Definición de clase

Una definición de clase consta de tres partes: encabezado de clase, cuerpo de clase y punto y coma. El
encabezado de clase consta de la palabra reservada class y el nombre especificado por el diseñador.
Los nombres de clase comienzan con una letra mayúscula para distinguirlos de las clases en la biblioteca que comienzan con una letra minúscula Un
cuerpo de clase es un bloque de instrucciones que contiene declaraciones de miembros de datos y funciones de miembros
Finalmente, hay un punto y coma después del paréntesis de cierre

1. Declarar miembros de datos

Declarar clases integradas u otros tipos de clases definidos previamente para
miembros de datos variables o constantes en una clase que no pueden depender unos de otros

2. Declarar funciones miembro

Declarar todas las funciones utilizadas para simular el comportamiento de la clase
Las funciones decoradas con const no pueden cambiar nada

3. Modificadores de acceso

Se utiliza para determinar la accesibilidad de la clase, dividida en privada, protegida y pública.El miembro
privado predeterminado
solo se puede acceder a través de funciones de miembro cuando el miembro es privado; cuando el miembro está protegido, se puede acceder a través de subclases

4. Modificadores de acceso para miembros de datos

Los miembros de datos de una clase generalmente se configuran como privados

5. Modificadores de acceso para funciones miembro

La función miembro de instancia de una clase generalmente se establece en public
, pero si se usa para ayudar a otras funciones miembro, pero no permite llamadas a funciones fuera de la clase, debe establecerse en private

6. Modificadores de acceso de grupo

Solo se usa una palabra clave privada y una palabra clave pública en toda la definición de clase, seguidas de dos puntos para agrupar

2. Definición de función miembro

Símbolo de alcance de clase::
cuando el valor del objeto no cambia, agregue const después de los paréntesis y antes de las llaves

3. Funciones en línea

Cuando el tiempo de ejecución de una llamada de función es mayor que el tiempo de ejecución del código dentro de la función, para mejorar el rendimiento del programa, la función se puede declarar como una función en línea para indicarle al compilador que reemplace la llamada de función con el código real. en la función

1. Funciones en línea implícitas

Al reemplazar una declaración de función con su definición, la función se define como implícitamente en línea (no recomendado)

2. Funciones en línea explícitas

Complete la palabra clave en línea antes de la definición de la función, y la función se define como una función en línea explícita

4. Aplicación

1. Instanciación de objetos

2. Objeto de operación

3. Selección de miembros

El punto entre un objeto y una función miembro se llama operador de selección de miembros.

5. Estructura

En una estructura todos los miembros son públicos por defecto mientras que en una clase todos los miembros son privados por defecto

3. Constructor y destructor

Hay 6 funciones miembro en una clase vacía: constructor y destructor (inicialización y limpieza), copia de copia y sobrecarga de asignación (copia y copia), dirección de objeto ordinaria y dirección de objeto const (sobrecarga de dirección)

1. Constructor

Un constructor es una función miembro especial que se utiliza para crear e inicializar un objeto, generalmente público.
En una clase, puede contener tres tipos de constructores: parámetro, predeterminado y copia.

1. Constructor de parámetros

Los constructores paramétricos de clase se pueden sobrecargar

2. Constructor por defecto

El constructor predeterminado de una clase no se puede sobrecargar

3. Copiar constructor

La función de copia de la clase no se puede sobrecargar.

2. Destructor

La tilde antes del destructor también forma parte del nombre.
Un destructor es una función miembro especial sin parámetros que limpia y recicla objetos.

3. Crea y destruye objetos

4. Funciones requeridas de los miembros

Debe haber un parámetro/constructor por defecto, debe haber un constructor de copia y un destructor, y lo que nos proporciona el sistema es sintético***

4. Miembros de la instancia

1. Miembros de datos de instancia y funciones de miembros de instancia

Los miembros de datos de instancia de una clase suelen ser privados y solo se accede a ellos a través de funciones de miembro de instancia Una función de miembro de instancia
de una clase debe ser pública para que se pueda acceder a ella desde fuera de la clase
Operadores de selección de miembros y -> (del operador indirecto y miembro combinación de selectores *xxx.)

1. Bloquear y desbloquear

La función miembro es utilizada por el objeto al que apunta este puntero.

2. Parámetros ocultos

3. Usa explícitamente este puntero

4. Objeto anfitrión

El objeto host es el objeto sobre el que opera la función miembro de la instancia en un momento dado (el objeto al que apunta este puntero)

5. Funciones de miembros accesores

Una función de instancia de acceso no puede cambiar el estado del objeto host, requiere el modificador const

6. Función de miembro cambiador

La función de instancia de mutador cambia el estado del objeto host, no puede tener el modificador const

2. Invariantes de clase

Un invariante es una o más condiciones que deben imponerse a algunos o todos los miembros de datos de clase.

5. Miembros estáticos

Los miembros estáticos se pueden utilizar para compartir datos entre varios objetos de una clase.
Los miembros de datos estáticos pertenecen a los miembros de datos de todas las instancias y deben calificarse con la palabra clave static.
Las funciones de miembros estáticos no tienen objeto host y no se puede
acceder a ellos con el calificador const. Miembro de datos de instancia, porque no tiene este parámetro de puntero.
Las funciones de miembro de instancia deben acceder a miembros de datos de instancia, y las funciones de miembro estático deben acceder a miembros de datos estáticos.

6. Programación orientada a objetos

1. Archivo independiente

1. Archivo de interfaz

Un archivo de interfaz es un archivo que incluye una definición de clase
Archivo de interfaz *.h para una definición de clase

2. Archivo de implementación

El archivo de implementación contiene la definición de la función miembro.
El archivo de implementación *.cpp se utiliza para la definición de la función miembro.

3. Archivos de solicitud

El archivo de aplicación incluye la función principal que instancia los objetos y permite que cada objeto realice sus propias operaciones.La
aplicación utiliza el archivo de aplicación app.cpp

2. Compilación independiente

El proceso de compilación de los tres archivos anteriores para crear un archivo ejecutable se denomina compilación independiente.
Los pasos del proceso de compilación son 5 pasos

1. Cree un archivo de interfaz que contenga solo la definición de clase

2. Crear el archivo de implementación

Una compilación exitosa generará un archivo de objeto .o

3. Cree el archivo de la aplicación

Una compilación exitosa generará un archivo de objeto .o

4. Vincule los dos archivos de objeto para crear un ejecutable

5. correr

3. Evita múltiples inclusiones

#ifndef, #define, #endif
evitan la definición repetida, si ifndef ya está definido, el preprocesador saltará directamente a endif

4. Embalaje

1. Diseño de clase

El diseño de la clase es desarrollado por el desarrollador.

2. Uso de clases

El uso de la clase es que el usuario usa el

3. El efecto de la encapsulación

La encapsulación puede proteger los archivos de interfaz y los archivos de implementación para que no se modifiquen.

4. Interfaz pública

La interfaz pública es un archivo de texto basado en la declaración de la función, que se usa para informar al usuario cómo usar la función miembro.
El formato del documento API es el siguiente

función xxx

Función A::B() xxx, utilizada para devolver xxx

Supongo que te gusta

Origin blog.csdn.net/qq_37249793/article/details/130956784
Recomendado
Clasificación