대상 지향 프로 그래 밍 (OOP) 의 고급 기능

5828 단어 자바
대상 지향 프로 그래 밍 (OOP) 의 고급 기능
oop 의 고급 특성
  • 포장, 계승, 다 형
  • 이어받다
    계승 은 대상 언어 를 대상 으로 하 는 고급 특성 으로 그 역할 은 간략화 류 의 디자인 으로 하위 류 가 아버지의 속성 과 방법 을 직접 가 질 수 있 도록 하 는 것 이 며 중복 정의 가 필요 없다.
    자바 의 계승
  • 자바 에 서 는 단일 계승 만 지원 하고 다 중 계승 은 지원 되 지 않 지만 다 중 계승 은 지원 합 니 다
  • 상속 관계 에서 자 류 는 부 류 를 계승 하고 자 류 와 부 류 는 모두 상대 적 인 개념
  • 이다.
  • 우 리 는 is 를 사용 하여 계승 을 사용 할 수 있 는 지 여 부 를 판단 할 수 있다. 즉, 자 류 is 는 특수 한 부류
  • 이다.
  • 계승 하 는 문법 은
  •  class     extends    {
    
     }
    

    재 작성 방법 (override) 은 계승 관계 에서 하위 클래스 가 부모 클래스 를 덮어 쓰 는 방법;(방법 명 은 같은 매개 변수 와 같 고 반환 값 유형 은 부모 클래스 의 반환 값 보다 작 습 니 다)
    상속 에 관 한 소결
  • 부 류 는 있 고 자 류 는 반드시 있다
  • 부류 에 없 는 자 류 는 증가
  • 부 류 는 있 고 자 류 는 수정 할 수 있다 (방법 재 작성, 덮어 쓰기)
  • 하위 클래스 에서 도 부모 클래스 의 같은 이름 의 속성 을 정의 할 수 있 습 니 다.이러한 조작 은 덮어 쓰기 라 고 불 린 다.
    하위 클래스 에서 부모 클래스 를 방문 하 는 구성원: 슈퍼 키워드: 이 키 워드 는 부모 클래스 대상 의 인용 을 대표 합 니 다. 슈퍼 를 통 해 부모 클래스 의 속성 과 방법 을 방문 할 수 있 습 니 다.
    하위 클래스 대상 의 메모리 구 조 는 하위 클래스 대상 을 예화 할 때 먼저 메모리 에 부모 클래스 의 대상 을 만 든 다음 하위 클래스 의 대상 을 만 듭 니 다.
    자 류 에 관 한 구조 방법
  • 일반적인 방법 은 계승 할 수 있 고 구조 방법 은 계승 할 수 없다.그러나 자 류 의 구조 방법 에 서 는 반드시 부 류 의 구조 방법 을 먼저 사용 해 야 한다. 부 류 를 호출 하 는 어떤 구조 방법 을 명확 하 게 지정 하지 않 으 면 부 류 를 인삼 이 없 는 구조 방법 을 암시 적 으로 호출 할 것 이다.
  • 자 류 의 구조 방법 은 슈퍼 () 를 통 해 부 류 를 호출 하 는 구조 방법 을 명 확 히 할 수 있다.슈퍼 () 는 하위 구조 방법의 첫 줄 에 두 어야 한다.한 번 만 호출 할 수 있 습 니 다.

  • 다 형
  • 같은 종류의 사물 은 다양한 형 태 를 가지 고 있다
  • 다 태 는 자 류 의 대상 이 부계 에 부여 한 인용
  • 을 가리킨다.
    다 중 모드 를 사용 할 때 자바 에는 두 가지 데이터 형식 이 있 습 니 다. 컴 파일 시 형식 과 실행 시 형식 입 니 다.
  • 컴 파일 기간 유형: 변 수 를 정의 하 는 그 유형 은 컴 파일 기간 에 어떤 방법 을 사용 할 수 있 는 지 확인 할 수 있 습 니 다.
  • 운행 기간 유형;코드 를 실행 할 때 확 정 된 형식;실행 기 에 만 확인 할 수 있 습 니 다. 컴 파일 기 는 확인 할 수 없습니다. 실행 시 실행 할 구체 적 인 방법 을 결정 할 수 있 습 니 다.

  • 다 중 형식 변환 (조형)
  • 위로 전환 (upcast): 하위 클래스 대상 은 부모 클래스 에 직접 인용 할 수 있 습 니 다.
  • 아래로 전환 (downcast): 부모 클래스 의 유형 을 하위 클래스 로 변환 합 니 다.(하위 유형) 강 전 을 사용 해 야 하 며, ClassCastException 이상 위험 이 발생 할 수 있 습 니 다.

  • instanceof 연산 자 역할: 특정한 대상 이 특정한 사례 인지 판단 합 니 다. 코드 의 강성 을 확보 하기 위해 서 는 변환 하기 전에 instanceof 판단 을 해 야 합 니 다.
    포장 하 다
  • 정보 숨 김
  • 포장 의 세 가지 표현
  • 류 자체 가 하나의 포장 체
  • 이다.
  • 방법 도 일종 의 포장
  • 수식 자 를 방문 하여 구성원 의 방문 단 계 를 제한 합 니 다
  • 네 개의 접근 수정자
    수식 부호
    클래스 내부
    도맡아 하 다
    다른 만두 류
    서로 다른 가방 은 하위 클래스 가 아니다.
    private
    y
    n
    n
    n
    묵인
    y
    y
    n
    n
    protected
    y
    y
    y
    n
    public
    y
    y
    y
    y
    접근 기 자바 에 대한 권장 속성 은 모두 private 로 설정 되 어 있 습 니 다. 접근 속성 이 필요 하 다 면 두 가지 방법 으로 접근 할 수 있 습 니 다. 이 두 가지 방법 은 접근 기, setter, getter 라 고 합 니 다.
    방법 다시 쓰기 다시 공부
  • 방법 명 이 같 고 매개 변수 가 같다
  • 장식 부호: 자 류 는 부류
  • 보다 클 수 있다.
  • 반환 값: 하위 클래스 방법의 반환 값 은 부모 클래스 의 하위 클래스
  • 일 수 있 습 니 다.
    final 수정자
  • 속성: 재 할당 불가, 상수
  • 방법: 다시 쓸 수 없습니다
  • 류: 계승 불가
  • 정적
  • 수식 속성: 수 식 된 속성 은 속성 대상 이 아니 라 클래스 에 속 합 니 다.static 속성 에 접근 할 때 대상 을 만 들 지 않 고 클래스 이름 을 직접 사용 할 수 있 습 니 다. 속성 명 접근
  • 수정 방법: 수 정 된 방법 은 클래스 이름 을 통 해 직접 접근 할 수 있 으 며, static 사각형 에 서 는 정적 구성원 만 사용 할 수 있 습 니 다.this, 슈퍼 키워드
  • 도 사용 할 수 없습니다.
    정적 방법의 사용 주의사항
  • 정적 방법 은 정적 구성원 (정적 방법 및 정적 속성) 만 직접 사용 할 수 있 고 비 정적 구성원
  • 을 사용 할 수 없습니다.
  • 정적 방법 중 this, 슈퍼 키워드
  • 를 사용 할 수 없습니다.
  • 정적 방 을 호출 할 때 클래스 이름 을 사용 하 는 것 이 좋 습 니 다. 방법 명 () 직접 호출
  • 정적 블록
    static{
    			//  ;
    }
    

    역할: 클래스 초기 에 실행 하기;static 블록 당 한 번 만 실행
    다음 작업 이 있 으 면 static 의 코드 를 미리 실행 합 니 다.
  • 정례 화 대상 new 대상
  • 호출 클래스 의 정적 방법
  • 사용 클래스 의 정적 구성원
  • 단일 모드 로 해결 하 는 문제: 하나의 클래스 는 유일한 대상 해결 방법 만 만 만 들 수 있 습 니 다. 1. private 의 구조 방법 을 정의 합 니 다. 2. static 의 구성원 변 수 를 정의 합 니 다. 유형 은 현재 클래스 의 유형 입 니 다. 3. 하나의 공공 static 방법 을 제공 하여 유일한 인 스 턴 스 를 되 돌려 줍 니 다.
    public class TaskManager {
    	//2.           ;
    	private static TaskManager manager=new TaskManager();
    	
    	//1.        ;
    	private TaskManager() {
    		System.out.println("          ");
    	}
    	
    	//3.        ,         ;
    	public static TaskManager getInstance() {
    		return manager;
    	}
    	
    	public void showTasks() {
    		System.out.println("        ");
    	}
    	
    }
    

    일례 로 두 가지 로 나누다
  • 게으름뱅이 식: 언제 사용 합 니까? 언제 만 듭 니까?
  • 굶 주 림 식: 사용자 가 호출 하 든 안 하 든 미리 대상 을 만 듭 니 다
  • abstract
  • 추상 적 인 방법: 방법 만 정의 하고 방법 체 가 없다
  • 추상 류: 실례 화 되 어 서 는 안 되 고 계승 되 어야 한다
  • 추상 류 에 대한 설명
  • 추상 류 는 예화 되 어 서 는 안 된다. 추상 류 는 바로 계승 되 기 위 한 것 이다
  • 만약 에 한 가지 유형 에 적어도 하나의 추상 적 인 방법 이 포함 된다 면 이런 유형 은 추상 류
  • 이다.
  • 추상 류 에 도 속성, 일반 방법 과 구조 방법
  • 을 포함 할 수 있다.
  • 만약 에 하위 클래스 의 부 류 는 추상 클래스 라면 모든 추상 적 인 방법 을 다시 써 야 한다. 그렇지 않 으 면 추상 클래스
  • 이다.
    인터페이스
  • 인 터 페 이 스 는 특수 한 추상 류
  • 이다.
  • 인터페이스 에 Public static final 수식 속성 만 있 을 수 있 습 니 다.
  • 추상 적 인 방법 (Public abstract)
  • 만 있 을 수 있다.
    인 터 페 이 스 를 어떻게 정의 합 니까?
    interface    {
    				
    }
    

    인 터 페 이 스 는 보통 하나의 능력 만 나타 낸다.추상 류 는 한 가지 사물 을 나타 낸다.
    인터페이스 와 추상 류 의 차이:
  • 추상 류 에는 일반적인 방법, 추상 적 인 방법, 구조 방법, 일반 속성 이 있 을 수 있 고 인터페이스 에는 추상 적 인 방법 과 공유 하 는 정태 상수
  • 만 포함 할 수 있다.
  • 한 가지 유형 은 한 가지 부류 만 있 을 수 있다.하나의 종 류 는 여러 개의 인 터 페 이 스 를 실현 할 수 있 고 하나의 인 터 페 이 스 는 여러 개의 인 터 페 이 스 를 계승 할 수 있다
  • .
  • 추상 류 는 보통 하나의 사물 을 나타 내 고 인 터 페 이 스 는 하나의 능력
  • 을 나타 낸다.
    자바 8 인터페이스 의 새로운 기능
  • java 8 이후 인터페이스 에서 default 키워드 수식 방법 을 사용 할 수 있 습 니 다. 하위 클래스 는 기본적으로 계승 되 며, 하위 클래스 는 강제로 다시 쓰 지 않 아 도 됩 니 다 (방법 체 가 있 을 수 있 습 니 다)
  • 자바 8 이후 인터페이스 에서 static 키워드 수식 방법 을 사용 할 수 있 습 니 다. 클래스 를 사용 할 수 있 습 니 다. 방법 명 호출, 하위 클래스 에서 호출 할 수 없습니다 (방법 체 가 있 을 수 있 습 니 다)
  • 내부 클래스 정적 내부 클래스 구성원 내부 클래스 방법 내부 클래스 익명 내부 클래스
    구조 방법의 보충 익명 블록: 역할 은 구조 방법 전에 호출 되 고 어떤 구조 방법 을 호출 하 든 이 익명 블록 을 먼저 호출 합 니 다.
    {
    //  ;
    }
    

    this () 는 클래스 의 한 구조 방법 에서 this () 를 통 해 다른 구조 방법 을 호출 할 수 있 습 니 다. this () 는 구조 방법 에서 만 호출 할 수 있 고 첫 번 째 줄 에 두 어야 합 니 다.

    좋은 웹페이지 즐겨찾기