>Java >java지도 시간 >객체지향 콘텐츠에 대한 자세한 설명

객체지향 콘텐츠에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2017-06-26 09:27:531244검색

객체 지향이든 프로세스 지향이든 둘 다 문제를 해결하는 방식이지만 각도가 다릅니다.

프로세스 지향:

문제 해결의 모든 단계는 개인적으로 이루어져야 한다는 점을 강조합니다. 세부 사항은 수동으로 구현해야 합니다.


객체 지향:

특정 기능 객체를 사용하여 특정 문제를 해결하려면 모든 세부 사항에 주의를 기울일 필요가 없으며 해당 객체만 생성하면 됩니다.


객체지향은 프로세스지향을 기반으로 합니다

클래스와 객체 그리고 그 관계
클래스: 동일한 특성과 행위(기능)를 가진 것들의 총칭, 추상적인 개념입니다
객체: 이 안에 있는 특정 개인 사물의 유형


클래스와 객체의 관계
하나의 클래스는 객체를 추상화한 것이며 객체는 클래스의 인스턴스입니다. ---> Class

특징----> 멤버 속성(멤버 변수)
동작(함수)---> 멤버 메소드


클래스 생성 형식:
수정자 클래스 클래스 이름 데이터형 멤버변수명 1; 데이터형 멤버변수명 2;
데이터형 멤버변수명 3;
...

멤버메서드 1;
멤버메서드 2;
멤버메서드 3;
...
}

수정자: public
클래스 이름: 식별자는 의미를 알고 있습니다.
멤버 변수 목록: 사물의 특성, 현재 장면에서 관심 있는 특성만 작성합니다. 사물의 특성을 모두 작성할 필요는 없습니다. 변수 정의와 유사
멤버 방식: 사물의 동작(기능). 현재 장면에서 관심 있는 동작(특징)만 작성하는 방식은 이전과 유사합니다. 이때 작성하면 static을 제거해야 합니다

클래스를 처음 사용할 때는 이 클래스를 다시 사용할 때마다 메서드 영역에 로드해야 합니다. again


멤버 변수와 로컬 변수의 차이점

1. 정의 위치가 다름
로컬 변수: 메소드 내부에서 정의 멤버 변수: 클래스 내부, 메소드 외부에서 정의 2. 메모리 내 저장 위치가 다름
로컬 변수 : 로컬 변수는 스택 영역에 저장됨
멤버 변수: 멤버 변수는 힙 영역에 저장됨
3. 다양한 생명주기
로컬 변수: 메소드 호출로 생성되고, 메소드가 끝나면 사라짐 비교적 짧음
멤버 변수 : 객체 생성 시 생성, 객체 데이터가 재활용되면서 사라짐 상대적으로 길다
4. 초기값이 다름 ​​
로컬 변수: 초기값 없음, 사용 전에 할당해야 함
멤버 변수: 초기값 있음, 참조 유형 null , 정수 0, 십진수 0.0 문자: 공백, 부울 false


Encapsulation

캡슐화는 객체지향의 세 가지 주요 특성 중 하나이고 나머지 두 가지는 상속 다형성
클래스 이름: Person 속성: 이름, 나이
방법: 표시


캡슐화의 이점
: 프로그램의 보안 향상

속성 캡슐화 단계:
1. 외부 세계가 이를 통해 속성에 직접 접근하는 것을 방지하기 위해 private 키워드를 사용하여 해당 속성을 수정합니다. 객체 이름. 속성
2. 해당 속성의 설정 및 가져오기 메서드를 작성하여 외부 세계에 속성에 액세스할 수 있는 채널을 제공합니다.캡슐화는 객체 지향 프로그래밍 언어로 객체 세계를 시뮬레이션하는 것입니다. 변수는 객체 내부에 숨겨져 있으며 외부 세계에서 직접 조작하거나 수정할 수 없습니다.

캡슐화 원칙:

외부에 제공할 필요가 없는 콘텐츠를 숨깁니다.
속성을 숨기고 속성에 액세스할 수 있는 공개 방법을 제공하세요. 멤버 변수는 비공개이며 해당 getXxx()/setXxx() 메소드를 제공합니다

이점
:

메서드를 통해 멤버 변수의 작동을 제어하여 코드 보안을 향상시킵니다.

메소드로 코드를 캡슐화하여 보안을 향상시킵니다. 코드 재사용성

변수 접근의 근접 원칙:
동일한 이름을 가진 변수가 여러 개 있을 때 대상 코드는 이 코드 줄에 가장 가까운 변수를 사용합니다.

이렇게 하면 문제를 해결할 수 있습니다.
지역 변수와 멤버 변수가 있을 때 이름은 동일합니다. 특정 코드 포인트에서 멤버 변수에 액세스하려면 대상 라인의 변수 이름 앞에 이것을 추가하면 됩니다.
이것은 현재 이 메소드를 호출하는 객체일 뿐입니다.
this 누구든지. 호출은

구성 메서드
가 메서드입니다. 기능: 개체의 데이터에 기본값을 할당합니다.

정의 형식:
수정자 메서드 이름(매개변수 목록) {

여러 초기화 문

}
수정자 : public
메소드명 : direct 클래스명을 작성
매개변수 목록 : 메소드를 정의하기 전 형식적인 매개변수를 작성하는 것과 동일
생성자에는 반환값 유형이 없다는 점 참고하세요

매개변수 없는 생성자를 수동으로 작성하지 않는 경우 우리가 직접 매개변수 없는 생성자를 작성하면 시스템은 이를 사용할 때 매개변수의 생성 방법을 직접 제공하지 않습니다.

생성 메서드도 메서드이므로 오버로드될 수 있습니다.

생성 메서드를 직접 작성하는 한 시스템에서는 매개 변수 없는 생성자가 제공되지 않습니다.
개체를 생성하기 위해 매개 변수 없는 생성자를 사용해야 하는 경우 매개변수 없는 생성자를 직접 작성해야 합니다

위 내용은 객체지향 콘텐츠에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:JavaWeb 환경 구축다음 기사:JavaWeb 환경 구축