java 대상 지향 특징
7967 단어 자바
--1-.봉인:
봉인 이 라 니 요?
패 키 징 은 과정 과 데 이 터 를 둘러싸 고 데이터 에 대한 접근 은 정 의 된 인터페이스 만 통과 할 수 있 습 니 다.
대상 을 대상 으로 계산 하 는 것 은 이 기본 개념 에서 시작 되 었 다.즉,현실 세 계 는 일련의 완전 자치,포장 대상 으로 그 려 질 수 있 고 이런 대상 들 은 보 호 받 는 인 터 페 이 스 를 통 해 다른 대상 을 방문 할 수 있다.
패 키 징 은 정보 숨 김 기술 로 자바 에서 키워드 private 를 통 해 패 키 징 을 실현 합 니 다.봉투 란 무엇 입 니까?패 키 징 은 대상 의 모든 구성 부분 을 조합 하여 패 키 징 정의 프로그램 이 대상 의 데 이 터 를 어떻게 인용 하 는 지,패 키 징 실제 사용 방법 은 클래스 의 데 이 터 를 숨 기 고 사용자 가 클래스 에 대한 수정 과 데이터 에 접근 하 는 정 도 를 제어 합 니 다.
여지 하나 주세요.
public class Man {
// , , ,
private String name;
private int age;
private Woman wife;
//
// , , , , ( )
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setWife(Woman wife) {
this.wife = wife;
}
}
public class Woman {
// , , ,
private String name;
private int age;
private Man husband;
//
// , , , , , ( )
public void setHusband(Man husband) {
this.husband = husband;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
이렇게 하면 패 키 징 이 대상 의 일부 속성 을 사유 화하 고 외부 에 방문 할 수 있 는 방법 을 제공 할 수 있다 는 것 을 알 수 있다.그러나 대상 이 외부 방문 을 원 하지 않 는 속성 이 있 을 때 해당 하 는 방법 을 제공 하지 않 으 면 됩 니 다.예 를 들 어 여기 있 는 Man 의 wife 속성 과 Woman 의 husband 속성 은 get 방법 을 제공 하지 않 습 니 다.
다음은 다른 여지 로 다른 장점 을 설명 한다.
방법 에 대한 패키지:
public class Show {
public static void show(String str){
System.out.println(str);
}
}
public class User {
public static void main(String[] args){
Show.show(" ");
}
}
방법 을 봉인 한 후 에는 쓸 필요 가 없다.
System.out.println(str); Show.show(); ;
포장 의 역할:
1.대상 의 데이터 패 키 징 특성 은 전통 적 인 구조 방법 에서 데이터 와 조작 분리 에 따 른 여러 가지 문 제 를 철저히 제거 하고 프로그램의 재 활용 성과 유지 가능성 을 향상 시 켜 프로그래머 가 데이터 와 조작 내용 을 유지 하 는 부담 을 낮 춘 다.
2.대상 의 데이터 패 키 징 특성 은 대상 의 개인 데이터 와 공공 데 이 터 를 분리 시 켜 개인 데 이 터 를 보호 하고 가능 한 모듈 간 의 방 해 를 줄 이 며 프로그램의 복잡성 을 낮 추고 통제 성 을 향상 시 키 는 목적 을 달성 할 수 있다.
--2-상속
상속 이란 무엇 인가?
계승 은 대상 을 대상 으로 하 는 가장 현저 한 특성 이다.계승 은 기 존의 클래스 에서 새로운 클래스 를 파생 시 키 고 새로운 클래스 는 기 존의 데이터 속성 과 행 위 를 흡수 하 며 새로운 능력 을 확장 할 수 있 습 니 다.자바 계승 은 이미 존재 하 는 클래스 의 정 의 를 바탕 으로 새로운 클래스 를 만 드 는 기술 입 니 다.새로운 클래스 의 정 의 는 새로운 데이터 나 새로운 기능 을 추가 할 수도 있 고 부모 클래스 의 기능 을 사용 할 수도 있 지만 부모 클래스 를 선택적으로 계승 할 수 없습니다.이런 기술 은 이전의 코드 를 복용 하 는 것 이 매우 쉬 워 서 개발 주 기 를 크게 단축 하고 개발 비용 을 낮 출 수 있다.예 를 들 어 구분자 가 먼저 차 를 부 르 는 유형 을 정의 할 수 있다.차 는 다음 과 같은 속성 이 있다.차체 의 크기,색깔,핸들,타이어,그리고 차 와 같은 종류 에서 승용차 와 트럭 두 가지 유형 을 파생 시 켜 승용차 에 작은 트렁크 를 추가 하고 트럭 에 큰 화물 칸 을 추가 할 수 있다.
몇 가지 기본 특징:
(1)상속 관 계 는 전달 된다.만약 에 류 C 계승 류 B,류 B 계승 류 A 가 있다 면 류 C 는 류 B 에 게 서 물 려 받 은 속성 과 방법 도 있 고 류 A 에 게 서 물 려 받 은 속성 과 방법 도 있 는데 계승 이 무엇 입 니까?자신 이 새로 정의 한 속성 과 방법 도 있 을 수 있다.계승 해 온 속성 과 방법 은 암시 적 이지 만 류 C 의 속성 과 방법 이다.계승 은 비교적 일반적인 유형 을 바탕 으로 새로운 유형 을 구축 하고 구축 하 며 확대 하 는 가장 효과 적 인 수단 이다.
(2)계승 은 사람들 이 사물 에 대한 인식 과 묘 사 를 간소화 하고 관련 유형 간 의 차원 구조 관 계 를 뚜렷하게 나 타 낼 수 있다.
(3)계승 은 소프트웨어 재 활용 기능 을 제공 했다.클래스 B 계승 클래스 A 의 경우 클래스 B 를 만 들 때 기본 클래스(클래스 A)와 다른 소량의 특징(데이터 구성원 과 구성원 방법)만 설명 하면 됩 니 다.이런 방법 은 코드 와 데이터 의 여분 을 줄 이 고 프로그램의 중용 성 을 크게 증가 시 킬 수 있다.
(4)계승 은 일치 성 을 강화 함으로써 모듈 간 의 인터페이스 와 인 터 페 이 스 를 감소 하고 프로그램의 유지보수 성 을 크게 증가 시 켰 다.
(5)다 중 상속 체 제 를 제공한다.이론 적 으로 볼 때 한 종 류 는 여러 개의 일반 류 의 특수 류 일 수 있 고 여러 개의 일반 류 에서 속성 과 방법 을 계승 할 수 있다.이것 이 바로 다 중 계승 이다.자바 안전성 과 신뢰성 을 고려 하여 단일 계승 만 지원 하고 인터페이스 체 제 를 사용 하여 다 중 계승 을 실현 한다.
--3.추상 적-
추상 이란 무엇 인가?
키워드 abstract 로 성명 한 종 류 를'추상 류'라 고 합 니 다.하나의 클래스 에 하나 이상 의 추상 적 인 방법 이 포함 되 어 있다 면 클래스 는 abstract(추상)로 지정 해 야 합 니 다."추상 적 인 방법'은 불완전한 방법 에 속 하고 하나의 성명 만 포함 하 며 방법 주체(문법:abstract void f()가 없다.
추상 류 에서 계승 되 고 새로운 유형의 대상 을 만 들 려 면 기본 류 의 모든 추상 적 인 방법 에 방법 정 의 를 제공 해 야 한다.
만약 에 이렇게 하지 않 으 면 파생 류 도 추상 적 이 고 컴 파일 러 는 우리 에 게 abstract 키워드 로 그 유형의'추상 적'본질 을 표시 하도록 강요 할 것 이다.
어떤 abstract 방법 도 포함 되 지 않 더 라 도 하나의 유형 을'추상 류'로 성명 할 수 있다.만약 에 하나의 유형 이 추상 적 인 방법 을 가 질 필요 가 없고 우리 가 그 유형의 모든 인 스 턴 스 를 금지 하고 싶다 면 이런 능력 은 매우 유용 해 보일 것 이다.
추상 류 는 흔히 우리 가 문제 분야 에 대해 분석 하고 디자인 하 는 과정 에서 얻 은 추상 적 인 개념 을 나타 내 는데 일련의 보기 에는 다 르 지만 본질 적 으로 똑 같은 구체 적 인 개념 에 대한 추상 이다.예 를 들 어 만약 에 우리 가 도형 편집 소프트웨어 를 개발 하면 문제 분야 에 원,삼각형 이라는 구체 적 인 개념 이 존재 하 는 것 을 발견 할 수 있다.그들 은 서로 다 르 지만 모두 모양 이라는 개념 에 속한다.모양 이라는 개념 은 문제 분야 에 존재 하지 않 고 추상 적 인 개념 이다.바로 추상 적 인 개념 이 문제 분야 에서 대응 하 는 구체 적 인 개념 이 없 기 때문에 추상 적 인 개념 을 표징 하 는 추상 류 는 예화 할 수 없다.
여기 서 우 리 는 추상 과 인터페이스의 차 이 를 이야기 할 수 밖 에 없다.
무엇이 인터페이스 입 니까?
자바 인 터 페 이 스 는 일련의 방법의 성명 으로 일부 방법 특징의 집합 이다.하나의 인 터 페 이 스 는 방법의 특징 만 있 고 방법 이 없 기 때문에 이런 방법 들 은 서로 다른 곳 에서 서로 다른 유형 에 의 해 실 현 될 수 있 고 이런 실현 은 서로 다른 행위(기능)를 가 질 수 있다.
두 가지 의미:첫째,자바 인터페이스,자바 언어 에 존재 하 는 구 조 는 특정한 문법 과 구 조 를 가진다.둘째,한 가지 방법 이 가 진 특징 집합 은 논리 적 추상 이다.전 자 는'자바 인터페이스'라 고 하고 후 자 는'인터페이스'라 고 한다.
인터페이스 실현 과 클래스 계승 규칙 이 다 르 기 때문에 데이터 의 안전 을 위해 계승 할 때 한 가지 유형 은 하나의 직접적인 부모 유형,즉 단일 계승 만 있 지만 한 가지 유형 은 여러 개의 인 터 페 이 스 를 실현 할 수 있다.인 터 페 이 스 는 여러 가지 계승 이 불가능 하 다 는 단점 을 보완 하고 계승 과 인터페이스의 이중 디자인 은 유형의 데이터 안전 도 유지 할 뿐만 아니 라 여러 가지 계승 도 실현 했다.
문법 적 으로 추상 류 와 인 터 페 이 스 는 다음 과 같은 차이 가 있다.
1.abstract class 는 자바 언어 에서 일종 의 계승 관 계 를 나타 내 는데 한 종 류 는 한 번 만 계승 관 계 를 사용 할 수 있다.그러나 한 종 류 는 여러 인 터 페 이 스 를 실현 할 수 있다.추상 류 를 계승 하 는 것 은 extends 키 워드 를 사용 하고 인 터 페 이 스 를 실현 하 는 것 은 implements 키 워드 를 사용 하 며 계승 은 앞 에 쓰 고 인 터 페 이 스 를 실현 하 는 것 은 뒤에 쓴다.여러 개의 인 터 페 이 스 를 실현 하면 중간 에 쉼표 로 구분한다.예:
public class Main extends JApplet
public class Main implements Runnable
public class Main extends JApplet implements ActionListener
public class Main extends JApplet implements ActionListener, Runnable
2.abstract class 에 서 는 자신의 데이터 구성원 이 있 을 수도 있 고 abstract 가 아 닌 구성원 방법 이 있 을 수도 있 습 니 다.interface 에 서 는 정적 으로 수정 할 수 없 는 데이터 구성원 만 있 을 수 있 습 니 다(즉,static final 이 어야 하지만 interface 에 서 는 일반적으로 데이터 구성원 을 정의 하지 않 습 니 다).모든 구성원 방법 은 abstract 입 니 다.
3.abstract class 와 interface 가 반영 하 는 디자인 이념 이 다르다.사실 abstract class 는'is-a'관 계 를 나타 내 고 interface 는'like-a'관 계 를 나타 낸다.
4.인 터 페 이 스 를 실현 하 는 유형 은 반드시 그 중의 모든 방법 을 실현 하고 추상 류 의 자 류 를 계승 하여 모든 추상 적 인 방법 을 실현 해 야 한다.추상 류 에는 비 추상 적 인 방법 이 있 을 수 있다.인터페이스 에는 실현 방법 이 있 을 수 없다.
5.인터페이스 에서 정 의 된 변 수 는 기본적으로 Public static final 형 이 고 초기 값 을 주어 야 하기 때문에 클래스 에서 다시 정의 할 수 없고 값 을 바 꿀 수 없습니다.
6.추상 클래스 의 변 수 는 기본적으로 friendly 권한 을 가지 고 그 값 은 하위 클래스 에서 다시 정의 할 수도 있 고 다시 할당 할 수도 있 습 니 다.
7.인터페이스 에 있 는 방법 은 기본적으로 Public abstract 형식 입 니 다.
--4.다 태-
무엇이 다 형 입 니까?
의미:
1.같은 유형의 인용 이 서로 다른 대상 을 가리 킬 때 서로 다른 실현 이 있다.
-행동 다 형:cut()방법:이발사 에 게 머리 를 자 르 는 것;요리사 에 게 는 채 소 를 썰 기;벌목 꾼 에 게 나 무 를 베 기;
2.같은 대상 이 다른 유형 으로 스타일 링 될 때 다른 기능
-대상 의 다 형:person 대상:부모 에 게 는 아이 다.선생님 에 게 는 학생 이다.아이 에 게 는 부모 다.
위로 스타일 링:
1.부모 클래스 참조 하위 클래스 대상;
2.조형 할 수 있 는 유형:부류 와 실 현 된 인터페이스;
class A{
public method(){
......
}
}
class A1 extends A {
public method(){
......
}
}
class A2 extends A{
public method(){
......
}
}
A a=new A1(); 다 형 이 나 타 났 습 니 다.대상 의 인용 은 그의 하위 A1 new 에서 나 온 대상 을 가리 키 고 있 습 니 다. ,method 방법의 지침 은 이미 A1 의 method 를 가리 키 고 있 으 며,그 가 method 방법 을 호출 할 때,조절 하 는 것 은 A1 의 방법 이다.
a.method(); A1 메 서 드 호출 방법
A a=new A2(); 다 형 이 나 타 났 습 니 다.대상 의 인용 은 그의 하위 클래스 A2 의 new 에서 나 온 대상 을 가리 키 고 있 습 니 다. ,method 방법의 지침 은 A2 의 method 를 가리 키 고 있 습 니 다.method 방법 을 호출 할 때 A2 를 조정 하 는 방법 입 니 다. a.method(); A2 메 서 드 호출 방법
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.