[Java] Résumé orienté objet_Partie 1

Objectif de cet article

Contexte

Ce qui a été utile

Commentaire détaillé pour les débutants! Qu'est-ce que l'orientation objet? ・ Cela m'a aidé à comprendre les termes techniques autour de l'orientation des objets.

Iroha \ -Qiita orienté objet ・ L'explication de l'abstraction a été très utile pour réfléchir à la programmation et à l'arrière-plan orienté objet.

[Java] Qu'est-ce qu'un constructeur? Signification de ceci \ () \ | L'introduction la plus simple à Java ・ Après avoir compris les connaissances approximatives (les bases de Java) et l'abstraction jusqu'à présent, j'ai lu cette explication et elle est devenue très familière.

[Orienté objet \ -Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF % E3% 83% 88% E6% 8C% 87% E5% 90% 91) ・ Les six résumés orientés objet ont été utiles comme règles pour ne pas s'écarter de l'orientation objet.

Introduction à l'Object-Oriented ・ Plus tard, cela a semblé bon pour vérifier le degré d'entente, donc un mémorandum.

Clair Java Primer ・ Aide à comprendre la différence entre les objets et les instances.

"Abstrait" avant l'orientation de l'objet

Mais c'est soudainement,

À quoi pensez-vous quand vous pensez aux «pommes»?

...

En parlant de "pomme", "objet rouge, rond et comestible"

Je pense à toi.

** Je pense que j'ai pu le comprendre sans informations spécifiques **.

Cela s'appelle ** abstraction **.

Comme vous pouvez le voir dans l'exemple, ** un regroupement de fonctionnalités similaires à l'abstraction et leur donnant des noms appropriés. **

Et je pense que la même chose peut être dite à propos de la programmation.

En programmation, il existe de nombreux groupes ayant des caractéristiques similaires.

Les fonctionnalités sont nommées variables, fonctions et orientées objet.

Si c'est une pomme, on peut facilement l'expliquer comme "un objet rouge, rond et comestible", mais dans le cas de la programmation, cela prend du temps à comprendre car l'objet abstrait est très compliqué et il existe différents motifs.

Et l'orientation objet est l'une de ces choses complexes.

Cependant, comme je n'ai pas besoin de connaître divers modèles maintenant, je voudrais donner un exemple concret avec un modèle de route royale et essayer de l'abstraire pour approfondir ma compréhension de la terminologie.

Qu'est-ce qu'un "objet" avant d'être orienté objet?

~~ Un objet est un "objet". ~~

~~ Orienté objet ??? ~~

Un objet est généralement un "objet" Dans le monde de la programmation, il vaut mieux la considérer comme un «rassemblement informé» ou un «objet abstrait».

Pourquoi orienté objet?

Dans le monde réel, la plupart sont constitués d '«objets».

Un "objet" est supposé exister dans l'espace avec une forme concrète.

Cependant, il est difficile de comprendre si tout est un "objet", j'ai donc décidé de classer chaque caractéristique et de donner un nom à "l'objet".

** Oui, c'est une abstraction. **

De cette façon, il est plus irritant d'adopter l'idée ** "C'est facile à manipuler si vous le considérez comme un objet comme le monde réel" **, donc j'ai faim comme ça. compris.

Et c'est la programmation orientée objet qui a appliqué cette idée à la programmation.

Je pense que cela vient aussi de l'idée ** "car il est plus facile de comprendre le monde de la programmation de la même manière que le monde réel".

Orienté objet à retenir dans le monde réel

Puisque l'objet signifie un objet dans le monde réel, j'ai pensé qu'il serait plus facile à comprendre si vous vous souvenez du monde réel à titre d'exemple, je vais donc l'expliquer avec ** une configuration minimale en utilisant une voiture **.

Principalement orienté objet

** J'ai fait un document de conception de voiture. Créez une voiture en vous basant sur le document de conception de la voiture. **

En termes simples, c'est tout.

En outre, ** Créez un "document de conception" décrivant le type de spécifications (couleur, fonction, poids, prix) de la voiture Fabriqué sur la base d'un "document de conception". **

C'est tout.

Et ** quand vous avez une voiture, faites-la rouler. **

La principale chose que je fais est ** "Créer un document de conception pour créer un objet, créer un objet et déplacer l'objet." **

(J'avais le plus faim de cette façon de comprendre.)

Pensez un peu plus à la programmation

Cette fois, je voudrais prendre l'exemple du processus de fabrication d'une voiture rouge.

Dans le monde de la programmation, le code est chargé dans l'ordre du haut.

Par exemple, quand il y a la phrase suivante (ce n'est pas un code mais une phrase pour faciliter la compréhension), elle est lue dans l'ordre du haut.

** 1. Nommez le document de conception "Voiture". 2. Écrivez des informations sur la voiture "la couleur est rouge" et "le nom est A" dans le contenu du document de conception. 3. Dans le contenu du document de conception, écrivez les actions liées à la voiture telles que «peut passer un appel» et «peut s'arrêter». 4. Créez une "voiture" basée sur le "document de conception de voiture". **

Ensuite, au niveau de la programmation, une "voiture rouge appelée A" sera achevée.

De cette façon, ** La programmation orientée objet est l'idée de créer un "document de conception", d'écrire "quel genre de chose" et "ce qui peut être fait" et de le traiter de la même manière comme une chose réelle. **

Cependant, il peut arriver que vous souhaitiez que la voiture soit «bleue».

Dans ce cas, réécrivez la partie 2 de "rouge" à "bleu".

Ensuite, la "voiture bleue appelée A" est terminée.

C'est ainsi qu'il est facile d'apporter des modifications à la programmation.

Dans le monde réel, si vous essayez de faire cela, vous devez prendre le processus de collecte de la voiture, de la peindre en bleu par le haut et de la renvoyer (et c'est très difficile s'il y a beaucoup de voitures, c'est un soi-disant rappel. …).

Cependant, dans le monde de la programmation, tout ce que vous avez à faire est de réécrire le contenu du "Car Design Document".

Je pense avoir compris comment écrire orienté objet.

Comprendre les termes techniques orientés objet (Java)

C'est une idée approximative, mais si vous pouvez comprendre le sens jusqu'à présent

C'est presque comme si j'étais au courant.

** Ces termes ne sont que des noms pour chaque événement de l'exemple précédent. ** (En fait, c'est plus compliqué, mais ... c'est facile à comprendre pour moi.)

C'est difficile à mettre en termes, mais ce que je fais, c'est ** "Créer un document de conception pour créer un objet, créer un objet et déplacer l'objet." **.

Essayez de comprendre la relation entre les termes

Un schéma simple de cette relation est le suivant. オブジェクト指向_用語関連図.png

Différence entre objet et instance

Un objet est un terme général pour les entités générées dynamiquement. Instance est un terme général pour les entités générées dynamiquement de type classe

Cela ressemble à ceci sur la figure. オブジェクト指向_オブジェクトとインスタンス.png

Lorsqu'ils sont utilisés dans le contexte du simple fait d'être une entité, les objets et les instances sont susceptibles d'avoir la même signification.

En fait, écrire en code Java

1. Nommez le document de conception "Voiture".

Car.java


class Car {

}

[Explication du programme] -Le type est un type de classe et le nom de classe "Car" est déclaré. -Les types de classe sont classés comme types de référence.

2. Écrivez des informations sur la voiture "la couleur est rouge" et "le nom est A" dans le contenu du document de conception.

Car.java


class Car {
	String carname = "A"; //Nom de la voiture
	String color = "red"; //Couleur de la voiture
}

[Explication du programme] ・ Nom de voiture de type chaîne qui représente le nom de la voiture ・ Couleur de type chaîne qui représente la couleur de la voiture

3. Dans le contenu du document de conception, écrivez les actions liées à la voiture telles que «peut passer un appel» et «peut s'arrêter».

Car.java


class Car {
	String carname = "A"; //Nom de la voiture
	String color = "red"; //Couleur de la voiture

	void start() { //Fonctionnement sortant de la voiture
		System.out.println("Décollage");
	}
 
	void stop() { //Opération d'arrêt de voiture
		System.out.println("Arrêtez");
	}
}

[Explication du programme] -Représente l'opération sortante de la voiture. Méthode de démarrage du type de retour qui ne renvoie pas de valeur ・ Indique l'opération d'arrêt de la voiture. Méthode d'arrêt de type retour qui ne renvoie pas de valeur

4. Créez une "voiture" basée sur le "document de conception de voiture".

CarTest.java


class CarTest{
	public static void main(String[] args){
		Car car = new Car();
	}
}

[Explication du programme] -Le type est un type de classe et le nom de classe "CarTest" est déclaré. -Instaurer la classe Car avec le nouvel opérateur et attribuer un objet à la variable de type Car (variable de type de classe). → ** On dirait que vous remplacez l'objet créé, mais en fait, la variable Car se réfère uniquement à (voit) l'objet appelé Car (comment y accéder est la partie 2) **.

Cela ressemble à ceci sur la figure. クラス型変数.png

Bien que ce soit une esquisse approximative, j'ai fait un document de conception pour faire un objet et je l'ai résumé en faisant référence à diverses choses jusqu'à en faire un objet.

Passez à [Java] Object Oriented Summary \ _Part 2 \ -Qiita.

Recommended Posts

[Java] Résumé orienté objet_Partie 1
[Java] Résumé orienté objet_Partie 2
[Java] Orienté objet
FizzBuzz orienté objet (Java)
[Java] Syntaxe orientée objet --Constructeur
Notions de base orientées objet (Java)
[Java] Syntaxe orientée objet --Package
Orienté objet avec Strike Gundam (java)
Résumé orienté objet par les débutants (Java)
Java
Mémorandum des éléments majeurs de Java 3 (orienté objet)
Java
[Java] Syntaxe orientée objet - Méthode / argument de classe
[Java] Syntaxe orientée objet --Classe / champ / méthode / portée
Résumé de la programmation orientée objet utilisant Java
Apprendre Java (0)
[Java] tableau
Java protégé
Module [Java]
Tableau Java
Étudier Java ―― 9
Java scratch scratch
Astuces Java, astuces
Méthodes Java
Méthode Java
Tableau Java
[Java] ArrayDeque
java (méthode)
Résumé orienté objet
Journée Java 2018
Chaîne Java
java (tableau)
Programmation orientée objet
Java statique
Sérialisation Java
java débutant 4
JAVA payé
Étudier Java ―― 4
Java (ensemble)
tri shell java
[Java] compareTo
Étudier Java -5
java réfléchissant 获 获 举
java (interface)
Tableau Java
Étudier Java ―― 1
[Java] Array
[Java] Polymorphisme
Étudier Java # 0
Revue Java
framework java
Fonctionnalités Java
[Java] Héritage
FastScanner Java
Fonctionnalités Java
java débutant 3
Mémo Java
java (encapsulation)
Héritage Java
[Java] Surcharge