TUTORIAL: C + + Classes, Partie 1

  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6130
  • Loc: Seattle, WA
  • Status: Offline

Message Mai 21st, 2008, 8:27 am

Introduction


Note: Ce tutoriel suppose que vous avez déjà une connaissance très élémentaire de C ou le langage C + +. Vous devriez savoir comment utiliser les variables, des constantes, des fonctions et mécanismes de base tels que les blocs conditionnels et les boucles.

Note: Le code source complet pour les exemples de ce tutoriel peut être téléchargée à la fin du tutoriel.

Les classes sont au cœur de presque tous les objets langage de programmation orienté. Ils nous permettent de structurer notre code de façon à représenter le domaine de la vie réelle que notre programme s'applique. En outre, les classes nous permettent de concevoir des programmes mieux en scindant les données et le comportement en unités logiques qui interagissent les uns aux autres en utilisant des ensembles de règles strictes prédéfinies.

Qu'est-ce qu'une classe?


Autrement dit, une classe est un type de données personnalisé. Plus précisément, une classe est un type de données personnalisée qui contient en elle ses propres données (données membres) et des fonctionnalités (fonctions membres, ou méthodes).

Classes sont utilisées pour des choses qui ont besoin d'être représentés par les types de données bien plus complexes que les types primitifs tels que les entiers, les caractères et les valeurs booléennes. Par exemple, nous pourrions écrire un programme pour une bibliothèque qui conserve la trace de ce que les livres sont disponibles, ce que les livres ont été vérifiées, et qui compte actuellement que les livres.

Pour ce faire, nous pourrait représenter chaque livre comme une simple chaîne qui représente le titre. Mais ce qui a de nombreuses limites. Par exemple, chaque livre est bien plus qu'un simple titre, les livres ont de nombreux autres éléments d'information qui leur sont associées, telles que l'auteur, date de publication, ISBN, nombre de pages, et ainsi de suite.

Pour représenter plus précisément un livre, comme la mer à créer notre propre Livre [i] type de données, qui pourrait alors contenir toutes les informations sur ce livre dans une seule unité. Une fois que nous avons notre [i] Réserver type de données, on peut alors utiliser ce type dans le reste de notre programme. Pouvez-vous voir comment cela pourrait faire de notre programme moins compliquée et plus facile à gérer?

Rédaction de votre première classe C + +


Permet de s'y plonger avec un simple C + + classe qui fera la démonstration de la base.

En C + +, la plupart des classes allons utiliser deux fichiers contenant du code:

Le header fichier, se terminant généralement par . h , Contiendra notre déclaration de la classe . La déclaration de classe indique au compilateur quoi la classe est, quoi type de données qu'il peut contenir, et quoi genre de choses, il sera capable de faire.

Le corps fichier, se terminant généralement par . cpp , Contiendra notre Définitions . Les définitions de classes dire au compilateur comment pour faire les choses qu'il est capable de faire.

Pour le reste de ce didacticiel, nous allons examiner une simple classe, Chien . Permet de commencer par créer le fichier d'entête pour notre classe.

Ouvrez un éditeur de texte et créez un nouveau fichier. Enregistrez ce fichier sous "Dog.h" . Écrivez ce qui suit dans votre fichier Dog.h:

CPP Code: [ Select ]
class Dog {
 
};
  1. class Dog {
  2.  
  3. };


Félicitations! Youve juste déclarées votre classe d'abord en C + +. Notez la syntaxe pour déclarer une classe: nous utilisons le classe mot-clé, suivi par le nom de la classe que nous souhaitons créer, suivie de l'ouverture et la fermeture des accolades, et enfin un point-virgule.

Si nous voulons utiliser cette classe dans notre programme, nous déclarons simplement des variables de ce type. Des instances de classes sont appelées objets . Par exemple, la ligne suivante crée un entier nommé "num" et un nouveau chien objet nommé "Woofy":

CPP Code: [ Select ]
int num;    // declare an integer
Dog woofy;  // declare a Dog
  1. int num;    // declare an integer
  2. Dog woofy;  // declare a Dog


À l'heure actuelle notre classe est vide, c'est à dire qu'il ne contient pas de données ou de comportement. À ce stade, notre classe est plutôt inutile, mais allaient changer cela.

Membre de données


Données des États membres se réfère aux données (variables) contenus dans votre classe. Ces variables sont dites membres de la classe. Tout type de données peut être un membre d'une catégorie: les entiers, les personnages, doubles, et ainsi de suite.

Il existe trois niveaux d'accès qui peuvent être assignées à des membres d'une classe: public, protégé et privé.

public:
Les membres qui sont déclarés public peut être consulté par toute les méthodes de la classe et par quelque chose en dehors de la classe.

protégées:
Les membres qui sont déclarés protégés peut être consulté par toutes les méthodes de la classe et par des méthodes appartenant à des sous-classes de la classe. (Sous-classes sont en dehors du champ d'application de ce tutoriel, nous ne serons pas d'avoir vu des membres de données protégée pour le moment.)

privé:
Les membres qui sont déclarés private ne sont accessibles que par des méthodes de la classe. Ils sont inaccessibles à d'autres parties du programme.

Permet de saut à droite et d'ajouter un membre de données à notre classe Chien. Quel type d'informations au sujet d'un chien peut-on ajouter? Commençons avec un simple: son âge. Tous les chiens ont un âge, donc notre classe chien devrait inclure des données pour représenter cela. Ajoutons-en un nombre entier d'organiser l'âge du chien est, en années:

CPP Code: [ Select ]
class Dog {
 
public:
   int age;
 
};
  1. class Dog {
  2.  
  3. public:
  4.    int age;
  5.  
  6. };


Dans le code ci-dessus, nous avons ajouté une variable entière, âge , Comme un nombre entier de notre classe Chien. Notez la syntaxe de déclaration des membres de données: la portée de la variable (dans le cas, public), un point-virgule, suivi de la déclaration de variable.

Maintenant que notre classe chien a un membre de données publique, nous pouvons accéder à cette variable grâce à des chiens des objets en utilisant le point (.) L'opérateur.

CPP Code: [ Select ]
Dog woofy;   // declare a Dog called woofy
woofy.age = 5;  // set woofy's age to 5
  1. Dog woofy;   // declare a Dog called woofy
  2. woofy.age = 5;  // set woofy's age to 5


Fonctions membres (méthodes)


Vous devez être familier avec les fonctions, la définition des méthodes est donc assez facile. Une méthode est une fonction qui appartient à une classe, une grande partie de la même manière qu'un membre de données est une variable qui appartient à une classe. Bien que membre de données décrit ce qu'est une classe , Les méthodes de décrire ce qu'est une classe particulière peut faire .

Tout comme avec des données membre, les trois mêmes niveaux d'accès peuvent être attribués à des méthodes d'une classe: public, protégé et privé.

public:
Les méthodes qui sont déclarées publiques peuvent être invoqués par toute autre partie de la classe et par quelque chose en dehors de la classe.

protégées:
Les méthodes qui sont déclarées protégées peuvent être invoqués par toute autre méthode de la classe et par toute autre méthode de sous-classes de la classe. (Là encore, les sous-classes sont en dehors du champ d'application de ce tutoriel, nous ne serons pas d'avoir vu des méthodes protégées pour l'instant. )

privé:
Les méthodes qui sont déclarées privées ne peuvent être invoqués par d'autres méthodes de la classe. Ils sont inaccessibles à d'autres parties du programme.

Alright, pensez à une action qui a Dog exerçait généralement. Comment aboiements about? Les chiens aiment à aboyer, et notre chien ne sera pas différent. Laisse aller de l'avant et ajouter une méthode, écorce , À notre classe Chien:

CPP Code: [ Select ]
class Dog {
 
public:
   int age;
   void bark();
 
};
  1. class Dog {
  2.  
  3. public:
  4.    int age;
  5.    void bark();
  6.  
  7. };


Note de la syntaxe de déclaration des méthodes: il est remarquablement similaire à déclarer des données membres. La syntaxe devrait être familier pour vous, puisque nous sommes en déclarant essentiellement une fonction, la seule différence ici est que cette fonction est un membre de notre classe. Notez également que nous n'avons pas besoin de dire public encore - les déclarations d'un membre ou une méthode faite en vertu de l'identificateur de portée publique sera déclarée comme publique jusqu'à ce que nous en disposent autrement.

Maintenant que weve déclaré notre méthode, nous devons définir effectivement en sorte qu'il fait quelque chose d'utile. C'est là que notre . cpp dossier entre en scène.

Créer un nouveau fichier texte et l'enregistrer comme "Dog.cpp" . Assurez-vous de l'enregistrer dans le même répertoire que votre fichier Dog.h que weve été de travailler avec. En Dog.cpp, écrire les lignes suivantes:

CPP Code: [ Select ]
#include "Dog.h"
#include <iostream>
 
void Dog::bark() {
 
   std::cout << "Woof!" << std::endl;
}
  1. #include "Dog.h"
  2. #include <iostream>
  3.  
  4. void Dog::bark() {
  5.  
  6.    std::cout << "Woof!" << std::endl;
  7. }


Permet de passer par ce fichier ligne par ligne. Sur la ligne 1, nous incluons nos entêtes Dog.h fichier de sorte que nous pouvons définir les méthodes de notre classe Chien. Nous incluons l'en-tête iostream sur la ligne 2 pour permettre la sortie standard.

Maintenant Notez la syntaxe pour définir notre méthode:

return-type -le nom de classe:: méthode de nom - ()

Définir une méthode d'une classe est très semblable à la définition d'une fonction ancienne plaine ordinaire. La différence majeure est que nous préfixer le nom de la méthode avec le nom de la classe à laquelle il appartient.

Maintenant, nous pouvons appeler notre écorce () la méthode comme ceci:

CPP Code: [ Select ]
Dog woofy;   // declare a Dog called woofy
woofy.bark();  // tell woofy to bark
  1. Dog woofy;   // declare a Dog called woofy
  2. woofy.bark();  // tell woofy to bark


Conclusion


Vous avez maintenant une compréhension fondamentale de savoir comment créer et utiliser des classes en C + +. Il ya des choses beaucoup plus avancées que nous pouvons faire avec des classes, mais bien l'exception de ceux pour les didacticiels prochaine.

J'ai toujours les bienvenus questions ou des commentaires sur ce tutoriel. Il suffit de poster une réponse ou PM moi, im glad to help!
Attachments:
Dog.zip

(899 Octets) Téléchargé 516 fois

Complete source code for the Dog example used in this tutorial.

The Beer Monocle. Classy.
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Mai 21st, 2008, 8:27 am

Afficher de l'information

  • Total des messages de ce sujet: 1 message
  • Modérateur: Tutorial Writers
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC