Cientistas da computação criou C + +, uma linguagem de programação de sistemas, como uma extensão da língua original C desenvolvido na década de 1970 . Enquanto C + + inclui todas as funcionalidades ot C , acrescenta orientada a objeto recursos para sua sintaxe e bibliotecas. Devido a isso , os programadores C + + pode tirar proveito de paradigmas de orientação a objetos , incluindo a abstração de dados . A fim de entender o que é abstração de dados , o programador deve entender como as classes C + + e objetos de trabalho , e da importância de proteger dados sensíveis de manipulação. Tipos de dados
Em C + + , como em muitas outras línguas , os programadores lidar com variáveis contendo certos tipos de dados . Estes tipos de dados podem variar de várias formas de números decimais e não decimais , com personagens e frases . Em C + +, o programador deve especificar o tipo de dados que uma variável irá realizar . Por exemplo, uma variável "x" que irá realizar um inteiro deve ser declarado como uma variável inteira , usando a palavra-chave "int" . No entanto, como C + + funciona de uma maneira orientada a objetos , os programadores podem criar seus próprios tipos de dados. Tipos de dados criados pelo programador são chamados de " objetos ", e pode representar qualquer coisa a partir de listas de formas para conexões de rede.
Classes
A fim de criar um objeto , um programador deve primeiro definir como esse tipo de dados funciona. Ela faz isso através da definição de uma "classe" . A classe diz ao computador que tipo de dados o objeto irá conter. Por exemplo , o seguinte código define um objeto " Circle" , que conterá informações sobre o seu raio (r ) :
classe Circle {public : int r = 0; //inteiro "r " representa o raio };
Agora, sempre que um usuário deseja usar um objeto para representar um círculo, ela pode declarar um objeto do "Círculo " tipo de dados, assim:
círculo c ; //" Circle" é o tipo de dados
Herança
o programador também pode definir a classe Circle para calcular o raio , através da adição de uma função membro . Esta função de membro pode executar alguma tarefa com base em dados dentro de um objeto, e retornar um resultado . O exemplo a seguir estende a classe Círculo , adicionando uma função de " getArea ()" que retorna uma aproximação decimal da área do Círculo :
classe Circle {
int r = 0;
flutuar getArea () {return r * r * 3.14 ;}} ;
Círculo c = new Circle (); cr = 1; cout << c.getArea (); //imprime " 3,14 " para a tela
Abstração de Dados
a classe Circle representa um tipo abstrato de dados (ADT ), que por sua vez representa um objeto real no mundo real - tais como um círculo ou uma bola . No entanto, o usuário não precisa saber como funciona essa classe , a fim de usá-lo , só que ele faz alguma coisa. A função " getArea () " é um bom exemplo disso: um usuário da classe pode usar o getArea function () sem ter que aprender seu funcionamento , apenas o que as entradas são necessárias e quais as saídas que esperar. Esta é a abstração de dados, e é importante porque permite que os programadores a usar objetos sem conhecer sua estrutura interna, tornando mais fácil para eles construir um código mais complicado a partir de classes já existentes .