[RUBY] J'ai essayé de résumer la manière logique de penser l'orientation objet.

A propos de l'orientation des objets

Voici un bref résumé des termes utilisés dans les explications ci-dessous.
objet=Toutes les données, les choses,

Orientation objet=En un mot, "concept abstrait" = créer une chose avec des informations individuelles à partir d'une collection d'informations communes que chacun possède

Méthode=Faites quelque chose dans la programmation. Par exemple imprimer("hello world")
"hello world"C'est dire**objet**.. Le processus pour sortir ceci**print**Sera. Autrement dit, la méthode d'impression)

classe=Dessin de conception

exemple=Une entité créée à partir d'un dessin de conception (classe)

** Introduction **

Ruby et Python (il existe d'autres langages orientés objet) traitent tout comme un objet. Chaque objet renvoie une valeur de retour en utilisant ses propres propriétés et comportements uniques. Par exemple, dans le monde réel, chaque être humain (un être humain appelé M. A, un être humain appelé M. B) est un objet distinct. Une personne a un objet appelé "M. A". Étant un être humain, il a un nom, un sexe, un âge et des passe-temps uniques et peut effectuer des actions (méthodes) telles que parler et marcher.

** Pourquoi utiliser des objets? ** (Je vais expliquer la raison.)

Par exemple, si vous expliquez avec une voiture, l'apparence de la voiture ne changera pas, mais il y a un document compilé lorsque vous souhaitez modifier les spécifications de la voiture, donc si vous ne modifiez que ce document, il n'est pas nécessaire de modifier les spécifications de toutes les voitures une par une = Description du code Le montant peut être rendu compact. = Si vous creusez un peu plus profondément, il y a un mérite de ** être fort contre les changements ** car il arrive souvent que le code soit réécrit en raison de changements de spécifications sur le site de l'ingénieur. (C'est un peu difficile à expliquer, mais si vous ne comprenez pas, veuillez consulter l'article qui est un peu plus facile à comprendre par vous-même.)

** À propos des classes et des instances **

Je voudrais expliquer la relation entre les classes et les instances en voiture. Par exemple, vous faites un dessin de conception avant de créer une voiture, non? C'est la ** classe **. Un véhicule (entité) réellement créé à partir d'un dessin de conception est une ** instance **. Je vais vous donner une explication plus approfondie. Une classe est un objet qui collecte des attributs (propriétés) et processus (méthodes) communs. Si vous le comparez à un jeu en utilisant une classe, vous pouvez facilement diviser les paramètres par défaut (informations communes) en déplacement, course et combat. Une instance est chargée d'affiner la classe des comportements abstraits tels que se déplacer, courir et se battre. Je l'appelle une variable d'instance. (Par exemple, dans un combat, M. A peut utiliser la magie et le pouvoir de la magie est de 50 dégâts. M. B peut utiliser un marteau et la puissance du marteau est de 80 dégâts.)

** Classe ** = Abstrait (concept, commun) ** Instance ** = chose spécifique (incarnée, particulière)

À propos des méthodes de classe et des méthodes instantanées (variables d'instance)

Plus tôt, vous avez appris l'idée des classes et des instances. Ensuite, je voudrais ajouter des informations à ces classes et instances pour apprendre à les gérer.

Méthode d'instance
python

①print(len("hello world")) #Sortie 11
②print(len("Good bye")) #Sortie 8

J'ai vérifié la valeur de la chaîne en utilisant la méthode Len de python. ① et ② utilisent la même méthode, mais les valeurs de sortie sont différentes. Celles-ci sont appelées ** méthodes d'instance **.

Variable d'instance

Les propriétés d'un objet sont appelées attributs et leurs valeurs sont appelées valeurs d'attribut. Par exemple, la couleur est un attribut et la couleur rouge est appelée la valeur d'attribut. C'est ce qu'on appelle une ** variable d'instance **.

** Les variables d'instance ** sont des variables qui contiennent des valeurs d'attribut individuelles d'un objet et peuvent être utilisées pour toutes les opérations de cet objet.


Méthode de classe

Une méthode de classe est une méthode qu'une classe peut utiliser. Pour l'expliquer un peu plus clairement, c'est ** le traitement qui utilise les informations communes de la classe **.

Je suis désolé, j'étudie toujours les méthodes de classe, donc je vais m'arrêter ici cette fois. Je la corrigerai dès que je la comprendrai.

Recommended Posts

J'ai essayé de résumer la manière logique de penser l'orientation objet.
J'ai essayé de résumer la forme de base de GPLVM
J'ai essayé de résumer les opérations de chaîne de Python
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
J'ai essayé de résumer la commande umask
J'ai essayé de résumer la modélisation graphique.
[Linux] J'ai essayé de résumer les commandes de confirmation des ressources
J'ai essayé d'agrandir la taille du volume logique avec LVM
J'ai essayé de résumer la méthode de mise en œuvre fréquemment utilisée de pytest-mock
LeetCode j'ai essayé de résumer les plus simples
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé de résumer les paramètres des différentes bases de données de Django (MySQL, PostgreSQL)
Je n'ai pas compris le redimensionnement de TensorFlow, alors je l'ai résumé visuellement.
J'ai essayé de résumer comment utiliser matplotlib de python
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé d'effacer la partie négative de Meros
J'ai essayé de classer les voix des acteurs de la voix
J'ai essayé de résumer SparseMatrix
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé de découvrir les grandes lignes de Big Gorilla
[Courses de chevaux] J'ai essayé de quantifier la force du cheval de course
J'ai essayé d'obtenir les informations de localisation du bus Odakyu
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai essayé de résumer le code souvent utilisé dans Pandas
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
J'ai essayé de résumer les commandes souvent utilisées en entreprise
J'ai essayé de combattre le minimum local de la fonction Goldstein-Price
J'ai essayé de résumer comment utiliser à nouveau le référentiel EPEL
J'ai essayé d'approfondir la sécurité tout en calculant la finalité probabiliste de la preuve de travail
J'ai essayé de m'organiser à propos de MCMC.
J'ai essayé de trier les objets de l'image du plat de steak-① Détection d'objets
J'ai essayé de déplacer le ballon
J'ai essayé d'estimer la section.
J'ai essayé d'obtenir l'index de la liste en utilisant la fonction énumérer
J'ai essayé de créer l'image de démarrage SD de LicheePi Nano
J'ai essayé de résumer les commandes utilisées par les ingénieurs débutants aujourd'hui
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
J'ai essayé de visualiser la condition commune des téléspectateurs de la chaîne VTuber
J'ai essayé de résumer le contenu de chaque paquet enregistré par Python pip en une seule ligne
J'ai essayé de résumer la gestion des exceptions Python
J'ai essayé le serveur asynchrone de Django 3.0
J'ai essayé de reconnaître le mot de réveil
Entrée standard Python3 que j'ai essayé de résumer
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
J'ai essayé de toucher l'API COTOHA
J'ai essayé de résumer les modules d'Ansible - l'édition Linux
J'ai essayé de transformer l'image du visage en utilisant sparse_image_warp de TensorFlow Addons
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.
J'ai essayé de résumer jusqu'à ce que je quitte la banque et devienne ingénieur
J'ai essayé de vérifier la meilleure façon de trouver un bon partenaire de mariage
J'ai essayé d'obtenir les résultats de Hachinai en utilisant le traitement d'image
J'ai essayé de visualiser la tranche d'âge et la distribution des taux d'Atcoder
J'ai essayé de transcrire les actualités de l'exemple d'intégration commerciale sur Amazon Transcribe
J'ai essayé de résumer moi-même le flux général jusqu'à la création de services.
zoom J'ai essayé de quantifier le degré d'excitation de l'histoire lors de la conférence
J'ai essayé d'estimer la similitude de l'intention de la question en utilisant Doc2Vec de gensim
Je voulais faire attention au comportement des arguments par défaut de Python
J'ai essayé d'améliorer la précision de mon propre réseau neuronal
J'ai essayé de résoudre 100 traitements linguistiques Knock version 2020 [Chapitre 3: Expressions régulières 25-29]