Files
Guillaume-Sanchez ff4bb12d22 initial commit
2026-05-26 13:56:03 +02:00

114 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 503 14/10/2024
## Lunivers de la programmation
Un programme est simplement la description de la solution que je propose pour un problème. La solution peu sappeler Modélisation ou Algorithme. Elle sera présentée par un programme.
Autrement dit : un programme est une suite dinstruction pour résoudre un problème.
Expliquer étape par étape ce que le programme doit faire, cest a nous de réfléchir pas a la machine.
* Analyse -> déterminer le problème à résoudre
* Conception -> réalisation dun lalgorithme pour trouver une solution
* Développement -> traduction de lalgorithme en langage de programmation
Compilation Traduction du code source du programme vers le langage natif.
Les erreurs possible sont : erreur de syntaxe, de logique et de Solution en soit.
Diférents tests sont possible, unitaire, fonctionnel et client.
Traducteur de programme, entre le programme et la compilation.
Deux sorte de traducteurs interprètes et les compilateurs.
Les compilateur vont analyser la syntaxe et les interprète, va simplement interpréter ce que vous avez donné.
Une langage typé, cest un langage ou chaque variable utilisé à forcément un type. (C, C++, JAVA, etc)
Type de variable 2 classe primitif (entier, float, double char et bool) et complexe (tableau , tableau multidimensionnel, string).
## Les langages de programmation
Il y a deux familles de langage, les langages de bas niveau et de haut niveau.
Les langages bas niveau sont les plus proche des langages de la machine (C etc)
Les langages de haut niveau sont les plus proches des utilisateurs.
Lorsque quon a un langage, compilation - interprétation ou procédural - orienté objet.
Procédural : un programme qui utiles une procédure, une méthode. Il ny a pas de modalité. Il sexécute ligne par ligne. Tendance à générer du code spaghetti. Maintenance est difficile et travail en équipe plus compliqué.
Orientation Objet : Centrée autour des objets. Ils peuvent t être concret ou de labstrait.
Méthode -> renvoie un resultat
Procédure -> ne renvoie pas de résultat
## Concept Orienté Objet
Le concept OO veut une modélisation du monde réel
Objet est une représentation abstraite par une chose concrète.
Propriété et action.
Statique -> propriété (Un chat)
Dynamique -> Action (Le saut dun chat)
Les classes : Représentation abstrait dun objet qui est concert (Humain abstrarit, Bob concret)
Une classe est un moule qui va pouvoir instancier des objets.
```
class Rectangle{
// Donné
Largeur
Longueur
// Méthode :
Périmètre()
Aire()
}
class Point{
// Donnée
x
y
}
```
```
class Véhicule {
// Donnée
roue
place
// Méthode
Rouler()
Frainer()
// Les objet :
Voiture {
4 roues
4 place
}
Velo {
2 roues
1 place
}
}
```
## Les propriétés de base de lorientation objet
La notion de lhéritage -> Permet de spécialiser une class, qui possède les propriétés de son parent et ses propres spécialisations.
La notion de Polymorphisme -> A partir du moment où on possède plusieurs types. Exemple créer une nouvelle voiture, elle sera composée de la class voiture et de la class parent véhicule, donc elle sera polymorphique.
La notion de Transtypage -> Dans sa nature propre il est dun type, mais je force le compilateur pour que lobjet soit dun autre type que le type initial.
La notion de Polymorphie paramétrique -> le constructeur etc (On ne voit pas cette notion à ce cour-là).