C는 ++ - 객체 지향 프로그래밍 객체 지향 -000-

C는 + ± -000- 객체 지향 프로그래밍 객체 지향 -2020-3-16

의 I. 개요 객체 지향

객체 지향 (객체 지향, OO는) 지금이 아이디어뿐만 아니라 적용되어, 설계 개념 소프트웨어 설계, 데이터베이스 설계, 컴퓨터 지원 설계 (CAD), 네트워크 설계, 인공 지능 알고리즘 설계 및 기타 분야 사용하기 시작 이 아이디어.

객체 지향 응용 프로그램의 다른 영역의 경우, 객체 지향 분석 객체 지향 (Object가 분석, OOA 지향), 객체 지향 설계 (Object가 디자인, OOD 지향), OOP (객체 지향 프로그래밍, OOP)로 나눌 수 있습니다, 객체 지향 테스트 (객체 지향 테스트, OOT) 및 객체 지향 유지 보수 (객체 지향 소프트의 유지 보수, OOSM).

객체 지향, 즉 세 가지 주요 기능이 있습니다 캡슐화 , 상속다형성 .

(1) 패키지

패키지는 두 가지 기능이 하나의 대형 물체에 다른 작은 물체를 포장하는 , 외부에 내부 차폐 특성 및 기능의 다른 부분 . 예를 들어, 자동차 등이 작은 물체 엔진, 섀시 본체 및 바퀴 구성 큰 객체이다. 먼저 설계하고 작은 크기와 서로를 통해과의 접촉의 다른 측면 사이의 개체의 속성을 결정하고, 마지막으로 당신이 차에 설치 할 수있는이 작은 물체의 설계에서.

(2) 유전

상속 밀접한 개념 클래스와 관련이있다. 상속은 데이터 구조와 클래스 간의 관계 상위 클래스의 방법들의 자동 공유의 서브 클래스이다. 정의와 클래스의 구현에서는, 그들은 자신의 콘텐츠에 의해 정의 된 기존 클래스의 내용, 위의 기존 클래스를 기반으로, 그리고 몇 가지 새로운 내용을 추가 할 수 있습니다.
클래스 계층 구조에서, 서브 클래스에 상속 만 데이터 구조와 상위 클래스의 메소드는 단일 상속으로서, 상기 서브 클래스 상속 여러 상위 클래스의 데이터 구조 및 방법은 다중 상속이라 칭함.
소프트웨어 개발에서, 소프트웨어에 의해 확립 된 클래스 상속은 정보 조직 대상물을 단순화 분류 방법, 효과적인 개방 확장 클래스 부하를 생성 증가 코드 재사용.
상속은 객체 지향 프로그래밍 언어의 가장 중요한 기능은 다른 언어와 다른 것입니다, 다른 언어하지 않습니다. 상속의 사용은, 능력은 소프트웨어의 재사용 성을 향상 공통적 인 특징을 공유 할 수 있습니다.

(3) 다형성

다형성은 동일한 동작이 오브젝트의 여러 유형에 적용될 수 있으며, 다른 결과가 얻어진다. 다른 개체가, 같은 메시지가 서로 다른 결과가 발생할 수 있습니다받을 현상이 다형성했다. 다형성은 각 개체가 공통 메시지에 대한 응답으로 취할 자신의 방식에 맞게 할 수 있습니다.

둘째, 객체 지향 및 프로세스 지향 프로그래밍

1. 프로세스 지향 프로그래밍

프로그래밍 프로세스의 주요 아이디어는 과정에서 특정 기능을 달성하기 위해 먼저 무엇을해야하는지 후해야 할 것입니다. 많은 구현은 다양한 모듈들로 분할 될 수 있고, 각 모듈은 기능에 의해 분할하고, 특정 기능을 달성 함께 결합 될 수있다. 프로그래밍 동안, 프로그램 모듈은 기능 일 수 있고, 또는 전체 소스 파일 일 수도있다.
주요 공정 프로그램 , 데이터 센터, 구조 해석 방법에 속하는 기능의 분해에 대한 통상적 인 방법. 실세계 객체의 분석은 전체 제어 시스템의 문제점을 해결하기 위해 다음 몇 개의 서브 프로세스로 세분화되어 큰 처리 시스템의 시스템으로 간주 될 것이다. 분석 동안, 데이터는 각각의 서브 - 프로세스의 실행 순서를 마무리 서브 설명한 공정 사이에 연결한다.
일반적으로 다음과 같이 과정에서 프로세스 지향 프로그래밍은 다음과 같습니다
현실 세계에서 -> 중심의 프로세스 모델링 (차트, 변수, 함수 흐름) -> 절차 지향 언어 -> 실행을 해결하기 위해.
프로그래밍 프로세스의 안정성, 변형 및 약한 재사용 될 수있다.

(1) 소프트웨어 가난한 재사용

재사용은 수정없이 같은 일을 의미하거나 약간 변형 된 성질을 이용하여 여러 번 수정 될 수 있습니다. 소프트웨어 재사용은 추구하는 소프트웨어 엔지니어링의 목표 중 하나입니다. 다른 구조, 프로세스가 변경 될 때, 구조가 필요하여 다른 프로세스를 변경하기 위해 사전 개발 코드는 완벽하게 재활용 할 수 없습니다.

(2) 소프트웨어 보수성

소프트웨어 공학, 소프트웨어의 유지 보수성을 강조 문서의 중요성을 강조, 최종 소프트웨어 제품의 규정은 완전한 일관성있는 구성 성분으로 구성되어야합니다. 소프트웨어 개발 과정에서,이 소프트웨어의 가독성이 수정 될 수 있으며, 테스트 용이성은 품질의 소프트웨어의 중요한 지표가 강조 항상있다. 비용 및 유지 보수 비용의 결과로 검색 소프트웨어 재사용 성이 높은도 있기 때문에 프로세스 지향 프로그래밍, 그리고 수정 된 코드의 많은, 많은 알 수없는 취약점이있다.

(3) 사용자의 요구를 충족 할 수없는 소프트웨어의 개발

사용자 요구에 변화를 전송하는 경우 대규모의 소프트웨어 시스템은 일반적으로 기술의 여러 분야에 관한 것으로, 프로세스 지향 프로그래밍은 종종 설계 구조 및 처리 메커니즘의 다른 영역에 대해 서로 다른 각 소프트웨어의 최하위 레벨 정보이며, 가장 낮은 레벨의 구성을 변경할 필요가있다. 사용자 요구에 큰 변화를 다룰 때, 프로그래밍 과정은 수정되지 않습니다, 다시 소프트웨어를 개발하기 위해 이어질 수 있습니다.

2. 객체 지향 프로그래밍

데이터 구조, 복합 조합 논리 사이의 관계, 그 상세한 프로세스 데이터 고급 알고리즘 복잡한 프로세스 지향 프로그래밍이 알고리즘을위한 프로그램을 개발하는 과정은 부가적인 데이터 구조로서 설명 될 수있다. 프로세스 중심의 개발은 다음 문제를 해결, 데이터 분석 과정과 장소의 경계입니다. 다른 관점에서 생각하고, 프로그래밍은 사람들의 생각을 논리적으로 객체 지향적 사고를 충족하도록 설계됩니다.
즉 첫째, 객체의 다양한 종류와 필요한 설계, 데이터와 작업을 함께 포장하는 결정 둘째는 원하는 효과로 관련 주제에 메시지를 보내는 방법을 고려 : 객체 지향 프로그래머의 작업은 두 가지 측면을 포함 작업. 이 때 끊임없이 자신의 책임 내에서 작업을 완료하는 데, 이러한 개체가 살아 온 (또는 이러한 개체를 활성화) 정도로, 각 객체에 메시지를 보내는 항상 스케줄러 같다.
다양한 개체의 동작은 전체 작업이 완료 될 때 완료합니다. 물론, 큰 작업, 객체 지향 프로그래밍 방법이 매우 효과적이다, 그것은 크게 오류에 대한 기회를 줄이기 위해 작업 프로그램 디자이너의 어려움을 줄일 수 있습니다.
객체 지향 개발 프로그램이라고 할 수 있습니다 "제목 + 메시지." 일반적으로 다음과 같이 과정에서 객체 지향 프로그래밍은 다음과 같습니다
현실 세계에서 -> 객체 지향 모델링 (클래스 다이어그램, 객체, 방법) -> 객체 지향 언어 -> 실행을 해결하기 위해.

3. 객체 지향 기능

객체 지향 기술은 완벽하게 효율적으로 소프트웨어의 생산성과 Lite 버전 소프트웨어 개발 시간을 개선하고 소프트웨어 품질을 향상시킬 수 분해, 추상화, 모듈화, 정보 은폐 및 기타 아이디어를 반영, 그것은 제어의 복잡성에 효과적인 방법입니다.
객체 지향 평범한 사람들을위한뿐만 아니라 관리자를위한뿐만 아닙니다. 자신의 응용 프로그램을 투자하는 자원 관리자를 확보 할 수 있습니다 기술의 유지 보수 비용을 절감하는 처리합니다. 매니저에서 조직에게 또한 관리자의 작업이 변화를 가져올 수있는 기업을 줄 것이다 순수한 객체 지향 기술이 아니다 보인다.
회사가 객체 지향 채택 할 때, 조직이 변경됩니다. 재사용 라이브러리 및 라이브러리 관리 클래스를 필요로, 모든 프로그래머는 두 그룹 중 하나에 추가해야합니다 하나는 디자인과 새로운 클래스 그룹의 준비이고, 다른 하나는 새 응용 프로그램 그룹을 만들 수있는 응용 프로그램 클래스입니다. 객체 지향 프로그래밍에 덜 강조, 요구 사항 분석은 상대적으로 더 중요하게 될 것이다.
객체 지향 프로그래밍 코드, 코드 재사용, 충족 사용자의 요구에 세 가지 기능을 수정하기 쉬운 있습니다.

코드를 수정하기 (1) 쉽게

객체 지향 프로그래밍 코드가있는에 속성 클래스를 변경하는 경우에만 클래스의 멤버 함수를 구현해야 수정, 다른 프로그램의 기능이 변경되지 않는 클래스에서 캡슐화된다. 클래스 속성이 큰에서 변경하는 경우, 다음에 상속 된 방법을 사용하여 새로운 클래스를 재 - 파생.

(2) 코드 높은 재사용

클래스는 특정 기능을 갖는 객체 지향 프로그래밍 패키지는, 단지 호출 클래스와 그 멤버 함수를 선언 기능의 특정 클래스의 사용을 필요로합니다. 다른 클래스의 기능을 원하는 경우, 다중 상속, 클래스에서 다른 클래스의 캡슐화의 구성원이 될 수 있습니다. 구현 기능을 자유롭게 크게 코드의 재사용 성을 향상 빌딩 블록처럼 결합 할 수 있습니다.

(3) 고객의 요구를 충족하기 위해

때문에 객체 지향 프로그래밍의 코드 재사용, 사용자의 요구 사항은 변경 만 클래스 변경 내용을 수정해야합니다. 사용자의 요구 사항의 변화가 큰 경우, 다음 클래스를 재 조립, 클래스는 재개발 기능 어떤 변화를 직접 사용하는 데 사용할 수있는 큰 변화 될 것입니다. 객체 지향 프로그래밍은 적시에 수요 변화에 대응할 수 있습니다.

게시 91 개 원래 기사 · 원의 찬양 (101) · 조회수 3270

추천

출처blog.csdn.net/weixin_41096569/article/details/104898750