More Related Content
Similar to Sw203 Lecture10 Polymorphism
Similar to Sw203 Lecture10 Polymorphism (16)
More from Jargalsaikhan Alyeksandr
More from Jargalsaikhan Alyeksandr (6)
Sw203 Lecture10 Polymorphism
- 7. Жишээ: Полиморфизм “ MIAOW” “ BOWWOW” “ PIYOPIYOP” Kei:Master rio : Cat cry() attack() move() hamu : Dog cry() attack() move() ku-chi : Parakeet cry() attack() move() rio.cry() hamu.cry() ku-chi.cry()
- 8. Жишээ: Полиморфизм “ MIAOW” “ BOWWOW” “ PIYOPIYOP” Kei:Master “ Маажих” “ Хазах” “ Шүүрэх” rio : Cat cry() attack() move() hamu : Dog cry() attack() move() ku-chi : Parakeet cry() attack() move() rio.attack() hamu.attack() ku-chi.attack()
- 9. Жишээ: Полиморфизм “ MIAOW” “ BOWWOW” “ PIYOPIYOP” Kei:Master “ Маажих” “ Хазах” “ Шүүрэх” Ялгаатай объектууд руу ижил мэдээ дамжуулахад ялгаатай үр дүнг үзүүлж байна. “ Үсрэх” “ Гүйх ” “ Нисэх” rio : Cat cry() attack() move() hamu : Dog cry() attack() move() ku-chi : Parakeet cry() attack() move() rio.move() hamu.move() ku-chi.move()
- 21. Polymorphism – Жишээ ( Хийсвэр функц ) public abstract class Course { private String code; private String name; private int credit; private Teacher teacher; public Course(String id, String name, int credit) { this.code = id; this.name = name; this.credit = credit; } public int getCredit() { return credit; } public String getCode() { return code; } public String getName() { return name; } public Teacher getTeacher() { return teacher; } public void setTeacher(Teacher teacher) { this.teacher = teacher; } public abstract boolean isSuitable(Classroom classroom); } Одоо түүний хүү классууд энэхүү хийсвэр функцыг өөр өөрийнхөө онцлогт тохируулан хэрэгжүүлэх боломжтой isSuitable гэсэн хийсвэр функц тодорхойлов
- 22. Polymorphism – Жишээ ( Хийсвэр функц ) public class MathCourse extends Course { public MathCourse(String id, String name, int credit) { super(id, name, credit); } public boolean isSuitable(Classroom classroom) { ... } } public class Seminar extends AccompanyingSession { public Seminar(LeadingLecture lecture, String id, String name) { super(lecture, id, name); } public boolean isSuitable(Classroom classroom) { ... } } public class Laboratory extends AccompanyingSession { public Laboratory(LeadingLecture lecture,String id,String name) { super(lecture, id, name); } public boolean isSuitable(Classroom classroom) { ... } } isSuitable гэсэн хийсвэр функц ын ялгаатай хэрэгжилтүүд
- 23. Polymorphism – Жишээ ( Хийсвэр функц ) public class MathCourse extends Course { // Байгуулагч функц public boolean isSuitable(Classroom classroom) { return classroom.isChalkedEquipped() && classroom.getMaxCapacity() > 15; } } public class Seminar extends AccompanyingSession { // Байгуулагч функц public boolean isSuitable(Classroom classroom) { return classroom.getMaxCapacity() > 15 && classroom.isChalkedEquipped(); } } public class Laboratory extendsAccompanyingSession{ // Байгуулагч функц public boolean isSuitable(Classroom classroom) { return getLecture().isSuitable(classroom); } } isSuitable гэсэн хийсвэр функц ын ялгаатай хэрэгжилтүүд
- 24. Polymorphism – Жишээ ( Хийсвэр функц ) public class ProgrammingCourse extends LeadingLecture { public ProgrammingCourse(String id, String name, int credit){ super(id, name, credit); this.sessions = new AccompanyingSession[1]; this.sessions[0] = new Laboratory(this, id, name + " Laboratory"); } public boolean isSuitable(Classroom classroom) { return classroom.isComputerEquipped() && classroom.hasSoftware("Programming") && classroom.getMaxCapacity() > 15; } }
- 25. Polymorphism – Жишээ ( Хийсвэр функц ) public class LanguageCourse extends LeadingLecture { public LanguageCourse(String id, String name,int credit) { super(id, name, credit); this.sessions = new AccompanyingSession[2]; this.sessions[0] = new Seminar(this, id, name + " Seminar I"); this.sessions[1] = new Seminar(this, id, name + " Seminar II"); } public boolean isSuitable(Classroom classroom) { return classroom.getMaxCapacity() > 15 && classroom.isListeningCenterEquipped(); } }