オブジェクト向けプログラミング


オブジェクト(Object)


まず、オブジェクトとは、オブジェクトと呼ばれる任意の物体またはオブジェクトを指します.
誰もがゲストで、今では私たちの周りのディスプレイ、キーボード、ノート、ペンなどがゲストと言えるようになりました.

OOP欄


OOPとは、任意の言語や特定のライブラリではなく、オブジェクトの観点からプログラミングすることを意味します.

OOPを使用する場合


プログラムを柔軟に変更しやすくし、開発とメンテナンスを容易にします.同時に直感的なコード分析を可能にする.

OOP例


スマートフォン工場を例に

新しいスマートフォンを作るたびに工場の新築を考えなければならない.面倒で効率的ではないと思いますか?
コードで書くときも同じような感じがします!
const 아이폰6공장 = {
  name : '아이폰6',
  size : 4.7,
  camera : 'single',
  make : function() {
	  console.log(`${this.name}을 생산합니다`)
   }
} 

const 아이폰x공장 = {
  name: '아이폰x',
  size : 5.5,
  camera : 'dual',
  make : function() {
	  console.log(`${this.name}을 생산합니다`)
   }
}

const 아이폰12공장 = {
  name: '아이폰12',
  size : 6,
  camera : 'triple',
  make : function() {
	  console.log(`${this.name}을 생산합니다`)
   }
}
一目で効率が悪すぎて重複している部分が多すぎるのではないでしょうか.よく見ると三人とも性格は違いますが、生産方式は同じです.
では、スマートフォンが発売されたときに簡単に撮影するにはどうすればいいのでしょうか.
classを使うのは簡単だと思います!
class 스마트폰공장 {
  constructor(name, size, camera){
    this.name = name;
    this.size = size;
    this.camera = camera
  }
  make(){
    console.log(`${this.name}을 생산합니다.`)
  }
}
const 아이폰6 = new 스마트폰공장('아이폰6', 4.7,'single') // {name: "아이폰6", size: 4.7, camera: "single"}
const 아이폰15 = new 스마트폰공장('아이폰15', 7,'penta')

아이폰6.make() // 아이폰6을 생산합니다
簡単になったのではないでしょうか.const 이름 = new 스마트폰공장(name, size, camera)では、スマートフォンを簡単に印刷できます.

OOP特性


OOPは、캡슐화 (Encapsulation)추상화 (Abstraction)상속 (Inheritance)다형성 (Polymorphism)の4つの特徴を有する.

パッヶージ


その利点は,複雑さを低減し,再利用性を増大させ,露出を必要としない情報を隠すことである.

抽象


抽象化は,関連しない部分を取り除き,必要な部分のみを表現するための概念である.

継承


継承とは、属性と動作を再使用することです(たとえば、親を取得します).
新しい機能を追加する必要がある場合にも使用できます.
以上のように、iphoneとgalaxyは別のスマートフォンですが、同じ属性を持つところも多く、iphone工場をベースにgalaxy工事場を建設すれば、galaxy工事場はiphone工場と重なる属性を継承して再利用することができます.

たけいせい


多方向性とは、形状が異なり、異なる機能を持つことを意味し、親から継承された属性に対して、子から継承された属性を再定義できます.
例:
ギャラクシー施工場がiPhone工場を引き継ぐと、iPhone工場のブランド属性ももたらされ、iPhone工場のブランドはアップルのはずです.これをギャラクシー施工場から三星(サムスン)と再定義しoverridingと呼ぶ.