> 일반적인 문제 > 객체지향 프로그래밍의 기본 특성

객체지향 프로그래밍의 기본 특성

(*-*)浩
풀어 주다: 2019-07-25 10:35:08
원래의
31942명이 탐색했습니다.

객체 지향 프로그래밍 (객체 지향 프로그래밍, OOP) 방법은 프로세스 지향 프로그래밍에 비해 현재 널리 사용되는 프로그래밍 방법입니다. 인간의 자연스러운 사고방식과 일치한다.

객체지향 프로그래밍의 기본 특성

객체 지향 프로그래밍의 기본 특징은 캡슐화, 상속 및 다형성입니다. (권장 학습: PHP 비디오 튜토리얼)

1. 캡슐화

캡슐화는 숨김입니다. 객체의 속성 및 구현 세부 사항은 인터페이스를 외부 세계에만 노출하고, 프로그램에서 속성을 읽고 수정하기 위한 액세스 수준을 제어하고, 추상화된 데이터와 동작(또는 함수)을 결합하여 유기적인 전체를 형성합니다. , 데이터 데이터를 운영하기 위한 소스 코드와 유기적으로 결합되어 "클래스"를 형성하며, 여기서 데이터와 함수는 모두 클래스의 구성원입니다.

캡슐화의 목적은 보안을 강화하고 프로그래밍을 단순화하는 것입니다. 사용자는 구체적인 구현 세부 사항을 이해할 필요가 없으며, 외부 인터페이스를 통해 특정 액세스 권한이 있는 클래스 멤버만 사용하면 됩니다.

프로그램을 사용하여 사물을 처리할 때 객체를 중심으로 사물을 분석하는 것이 객체지향 아닌가요? 논리나 흐름 등의 문제를 중시하는 프로세스 지향과는 다른가요? 처리할 수 있으나 이벤트의 대상이 아닙니다. 객체 지향은 주제 지향을 의미하므로 문제를 해결할 때 먼저 객체를 캡슐화해야 합니다(객체는 캡슐화된 클래스의 인스턴스입니다. 예를 들어 Zhang San은 사람이고 사람은 캡슐화된 클래스입니다. Zhang San은 단지 인스턴스이고 객체 속의 객체.) 예를 들어, 일상생활에서 흔히 볼 수 있는 작은 토끼와 작은 양을 하나의 클래스로 요약할 수 있습니다.

예를 들어, 토끼의 속성에는 귀 2개, 다리 4개, 눈 1개, 입 3개 등이 포함됩니다. 토끼의 행동(기능)에는 달리기, 뛰기, 먹기 등이 포함됩니다.

2. 상속

상속은 객체지향의 기본 기능 중 하나이며 상속 메커니즘을 통해 계층적인 종류. 상속이란 하위 클래스가 상위 클래스의 특성과 동작을 상속하여 하위 클래스 객체(인스턴스)가 상위 클래스의 인스턴스 필드와 메소드를 가지거나, 하위 클래스가 상위 클래스의 메소드를 상속하여 하위 클래스가 다음을 갖는 것을 의미합니다. 상위 클래스와 동일한 동작. 아래 그림과 유사합니다.

위의 Rabbit 클래스를 캡슐화했으며, 다른 동물도 캡슐화할 수 있습니다. 캡슐화 과정에서 우리는 토끼와 양 두 클래스가 풀을 먹는 등 비슷한 기능이나 특성을 가지고 있다는 것을 발견했기 때문에 여기서는 초식동물과 육식동물 등 상위 클래스를 형성하기 위한 공통적인 특징과 방법을 추출할 수 있습니다. 상속은 자식 클래스와 부모 클래스 간의 관계입니다. 상속 메커니즘은 클래스의 생태를 잘 설명할 수 있으며 코드 재사용률도 향상시킵니다. Java의 Object 클래스는 모든 클래스의 슈퍼 클래스이며 종종 God 클래스라고 불립니다.

3. 다형성

다형성 동일한 행동이 여러 가지 다른 표현이나 형태를 갖는 능력입니다. 클래스 인스턴스(객체)의 동일한 메소드가 상황에 따라 다르게 표현된다는 의미입니다. 다형성을 통해 내부 구조가 서로 다른 개체가 동일한 외부 인터페이스를 공유할 수 있습니다. 즉, 서로 다른 개체에 대한 특정 작업은 다르지만 해당 작업(해당 작업)은 공통 클래스를 통해 동일한 방식으로 호출될 수 있습니다.

다형성의 장점:

1.

2. #

3. 확장성

4. 인터페이스

5. 유연성

# 🎜🎜#다형성이 존재하기 위한 세 가지 필수 조건:

상속 재작성(하위 클래스는 상위 클래스를 상속한 후 상위 클래스 메소드를 재정의함) ) 상위 클래스 참조는 하위 클래스 객체를 가리킵니다. 간단히 말해서 다형성은 실제로 상속을 기반으로 합니다. 예를 들어, 오늘 우리는 동물을 방문하기 위해 동물원에 갈 것입니다. 그렇다면 토끼, 양, 사자, 표범을 방문할 것이라고 말할 수는 있지만 자동차를 방문할 것이라고 말할 수는 없습니다. 이 예에서 하위 클래스는 다형성입니다. 자체 ID를 사용하는 것 외에도 상위 클래스 역할을 할 수도 있습니다.

PHP 관련 기술 기사를 더 보려면

PHP 그래픽 튜토리얼

컬럼을 방문하여 알아보세요!

위 내용은 객체지향 프로그래밍의 기본 특성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿