규격 변경 시 변경량을 줄일 수 있는 업로드 캐릭터(Java)

5407 단어 Java

업로드 정보


이른바 특약 출연자


업로드 역할이란 하위 클래스(하위 클래스)가 수퍼 클래스(상위 클래스)로 은연중에 표현할 수 있는 기능을 말한다.

이룰 수 있는 걸 썼어요.


개발 중에 규격 변경이 첨부되어 있다.
그런 방법으로 변경할 때 업로드 캐릭터를 이용해 프로그램을 쓰면 변경에 따른 프로그램의 개작을 최소화할 수 있다.
절차에서 예를 들어 설명하다.

소스 코드


Main.java
public class Main{
  public static void main(String[] args){
    Life_form life_form = new Life_form();
    life_form.makeSound();

// アップキャスト 
    life_form = new Cat();
    life_form.makeSound();
  }
}
Life_form.java
//親クラス 
public class Life_form{
  public void makeSound(){
    System.out.println("???");
  }
}
Cat.java
//子クラス
public class Cat extends Life_form{
  @Override
  public void makeSound(){
    System.out.println("にゃあ");
  }

  public void catPunch(){
    System.out.println("ネコパン");
  }

}
Dog.java
//「仕様変更よろしく」の項目で使用します。
public class Dog extends Life_form {
  @Override
  public void makeSound(){
    System.out.println("クゥーン!");
  }

  public void dogAttack(){
    System.out.println("かみつく");
  }
}

Life_form 클래스 및 Cat 클래스에 대한 설명


・Lifeform 클래스에makeSound 함수가 있습니다.
・Cat 클래스는 Lifeform 클래스를 계승하여 makeSound 함수를 재정의했다(다시 쓰기).
・또한, Cat클래스는 부류에 없는 한정 함수,catPunch 함수를 가지고 있다.
또한 Dog 클래스는 다음 항목인 "사양 변경 잘 부탁드립니다"에서 사용됩니다.제작은 캣 레벨과 동일하게 메이크사운드의 리메이크이며 도그 레벨이 한정된 도그어택이 있다.

마스터 레벨 설명


Main반에서 지켜봐 주셨으면 좋겠습니다.life_form = new Cat();하다
자반이 부반에 대입하다.
특약 출연자다.

실행 결과


실행 결과는 다음과 같습니다.

좀 못생겼지만 캣 인스턴스의 메이크사운드() 라이프가 올라와서폼부터 불렀는지 알 것 같아서요.
즉, life_form = new Cat(); 이후의 라이프form의 솔리드는 Cat의 인스턴스입니다.

규격변경 잘 부탁드립니다.


그러면 이 프로그램의 Cat 인스턴스를 Dog 인스턴스로 바꿔달라는 요청이 들어오면 변경된 부분은 조금만 더 있으면 된다.life_form = new Cat();-> life_form = new Dog();업로드 캐릭터가 기능으로 존재하지 않으면 다음과 같이 변경됩니다.
첫번째life_form = new Cat();-> Dog dog = new Dog();두번째life_form.makeSound();-> dog.makeSound();먼저 Dog형으로 실례를 만들어야 하고 사용하는 곳에서도 Dog을 사용해야 한다.
어쩌면 너는 아무런 변화가 없다고 생각할지도 모른다.
하지만 그것은 극히 작은 절차이기 때문이다.
대규모 개발일수록 변경점이 많을수록 변경량이 늘어난다.
규격 변경에 강한 절차를 만드는 것이 중요하다.그리고 자바는 그걸 실현하는 기능이 있어요.
잘 사용하고 싶어요.

좋은 웹페이지 즐겨찾기