용주에서 대상을 향한 프로그래밍을 배우다
17825 단어 Java
1. 목적
2. 개요
용주의 세계는 오공, 인조인, 셀, 마인 부우 등 각양각색의 전사들로 구성되어 있다
이번에는 일반인과 다른 그들에게 중점을 두고 소형 상자의 설계와 설치를 진행할 것이다
※ 구체적인 설치에 대해서는 매번
3.UML 디자인
UML 그림(클래스)
총결산
수정자 액세스(UML 그림)
4. 설계~설치
전사의 특징: 전투 기능 → 인터페이스로 처리
Fighter.javainterface Fighter {
void fight();
}
전사들은 상술한 기능을 가지고 다음과 같은 특징을 가지고 있다
UML 그림(클래스)
총결산
수정자 액세스(UML 그림)
4. 설계~설치
전사의 특징: 전투 기능 → 인터페이스로 처리
Fighter.javainterface Fighter {
void fight();
}
전사들은 상술한 기능을 가지고 다음과 같은 특징을 가지고 있다
interface Fighter {
void fight();
}
DragonballWarrior.java
public class DragonballWarrior implements Fighter {
private String name;
private int property;
private int HP;
@Override
public void fight() {
}
public void getSkill() {
}
public void doSkill() {
}
}
오공은 전사의 부반으로 대할 수 있다전사의 공통점을 더욱 세밀하게 정리하다
Saiyan.java
public class Saiyan extends DragonballWarrior {
/** [1:normal / 2:monkey / 3:super-saiyan] */
private int status;
public void changeStatus(Saiyan saiyan) {
this.status = saiyan.status;
}
}
전사들이 싸울 수 있는 천하제일무도회를 설계하고 싶어요.초클래스 구조 함수와 목표/설정기 정의
DragonballWarrior.java
public class DragonballWarrior implements Fighter {
private String name;
private int property;
private int HP;
/** default constractor */
DragonballWarrior() {
}
DragonballWarrior(String name, int property, int HP) {
this.name = name;
this.property = property;
this.HP = HP;
}
@Override
public void fight() {
}
public void getSkill() {
}
public void doSkill() {
}
// S - getter,setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getProperty() {
return property;
}
public void setProperty(int property) {
this.property = property;
}
public int getHP() {
return HP;
}
public void setHP(int hP) {
HP = hP;
}
// E - getter,setter
}
Saiyan.javapublic class Saiyan extends DragonballWarrior {
/** [1:normal / 2:monkey / 3:super-saiyan] */
private int status = 0;
public Saiyan(String name, int property, int HP) {
super(name, property, HP);
}
public void changeStatus(Saiyan saiyan) {
this.status = saiyan.status;
}
@Override
public void doSkill() {
if (super.getName().equals("Goku")) {
System.out.println("kamehame-ha");
}
}
@Override
public void fight() {
if (super.getName().equals("Goku")) {
System.out.println("ora-Goku!");
}
}
Saiyan.javapublic class MartialArtist extends DragonballWarrior {
public MartialArtist(String name, int property, int HP) {
super(name, property, HP);
}
@Override
public void doSkill() {
if (super.getName().equals("Kuririn")) {
System.out.println("kien-zan");
}
}
@Override
public void fight() {
if (super.getName().equals("Kuririn")) {
System.out.println("oreha-Kuririn!");
}
}
}
BattleTournament.javapublic class BattleTournament {
private List<DragonballWarrior> dwlist;
public static void main(String args[]) {
List<DragonballWarrior> dwlist = new ArrayList<>();
dwlist.add(new Saiyan("Goku", 50000, 200));
dwlist.add(new Saiyan("Vegeta", 40000, 250));
dwlist.add(new MartialArtist("Kuririn", 3000, 80));
dwlist.add(new MartialArtist("Kamesennin", 3000, 80));
for (DragonballWarrior dw : dwlist) {
dw.fight();
dw.doSkill();
}
}
}
5. 실행 결과
실행 결과.javaora-Goku!
kamehame-ha
oreha-Kuririn!
kien-zan
구토가 많았지만.
저희가 다태성이 작용하고 있다는 걸 확인했어요.
다음 날
6. 끝
3개월 테스트자 → 기본 디자인은 디자인 모델을 배워야 한다고 생각합니다.
전체 단원은 단일 클래스로 설계되고 기술은 인터페이스 또는 추상적인 클래스로composition의 관계이다
이번에는 익명 클래스 → 유니버설 → 람다식과 함수형 인터페이스 → Stream API를 정리하고 싶습니다.
Reference
이 문제에 관하여(용주에서 대상을 향한 프로그래밍을 배우다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ckhaours/items/172d0dc77d91013848e5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ora-Goku!
kamehame-ha
oreha-Kuririn!
kien-zan
3개월 테스트자 → 기본 디자인은 디자인 모델을 배워야 한다고 생각합니다.
전체 단원은 단일 클래스로 설계되고 기술은 인터페이스 또는 추상적인 클래스로composition의 관계이다
이번에는 익명 클래스 → 유니버설 → 람다식과 함수형 인터페이스 → Stream API를 정리하고 싶습니다.
Reference
이 문제에 관하여(용주에서 대상을 향한 프로그래밍을 배우다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ckhaours/items/172d0dc77d91013848e5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)