SlideShare uma empresa Scribd logo
1 de 41
Объект хандлагат програмчлалын хэл  Java Хичээл :  C S203 Багш :   Д.Энхжаргал   Mongolia University of Science & Technology Лекц №7. Даран тодорхойлсон функц (Method override)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Дахин тодорхойлсон функц
Method Override Удамшил Method override: Ижил нэртэй ялгаатай функц тодорхойлох Багш __ мэдээлэл Хичээлийн код calc__salary(age)  Ажилтан _ мэдээлэл Нэр Төрсөн огноо Нас Хаяг calc__age(birthday) calc__salary(age)
Course CS Course Math Course Cisco Course Programming Course Basic Math Course Advanced  Math Course extends extends extends extends extends extends Method override -ийн шаардлага
Course getCourseCredit()::3 CS Course Math Course Cisco Course Programming Course Basic Math Course extends extends extends extends extends extends Advanced  Math Course Онцгой тохиолдол Учир нь:  Course  классаас удамших классууд нь бүгд 3 кредитийн хичээлүүд бөгөөд харин  Advanced Math Course  нь 4 кредитийн хичээл Асуудлыг хэрхэн шийдэх вэ? Method override -ийн шаардлага Course  1 getCourseCredit():: 4 extends ×
Course getCourseCredit()::3 CS Course Math Course Cisco Course Programming Course Basic Math Course extends extends extends extends extends extends Advanced  Math Course getCourseCredit()::4  Онцгой тохиолдол Учир нь:  Course  классаас удамших классууд нь бүгд 3 кредитийн хичээлүүд бөгөөд харин  Advanced Math Course  нь 4 кредитийн хичээл Асуудлыг хэрхэн шийдэх вэ? Эх классын гишүүн функцтэй  ижил дүрслэлтэй гишүүн функцыг түүнд тодорхойлж өгөх нь зүйтэй Method override -ийн шаардлага
private default protected public public protected default private ,[object Object],[object Object],[object Object],[object Object],[object Object],Харин эсрэгээр боломжгүй Method override  хийх үед хандалтыг хэрхэн тодорхойлох вэ?
Method Override -  Жишээ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],Method Override -  Жишээ public class  Student  { private String id; private String name; private School school; private Grade[] grades; public Grade[] getGrades() { return grades; } public void setGrades(Grade[] grades) { this.grades = grades; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public School getSchool() { return school; } //  дараагийн хуудас  …
[object Object],Method Override -  Жишээ //  үргэлжлэл … public Grade getGrade(Course course) { if (grades == null) { return null; } for (int i = 0; i < grades.length; i++) { Grade grade = grades[i]; if (grade.getCourse() == course) { return grade; } } return null; } public boolean isPassed(Course course) { Grade grade = getGrade(course); if (grade == null) { return false; } else { return grade.getScore() > 50; } } }
[object Object],[object Object],[object Object],[object Object],Method Override -  Жишээ public class  BachelorStudent  extends Student { } public class  MasterStudent  extends Student { } public class  DoctorateStudent  extends Student { } Student BachelorStudent DoctorateStudent MasterStudent extends
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Method Override -  Жишээ
[object Object],[object Object],[object Object],[object Object],Method Override -  Жишээ public class  BachelorStudent  extends Student { public boolean isPassed(Course course) { // method override Grade grade = getGrade(course); if (grade == null) { return false; } else { return  grade.getScore() >= 74 ; } } } public class  MasterStudent  extends Student { public boolean isPassed(Course course) { // method override Grade grade = getGrade(course); if (grade == null) { return false; } else { return grade.getScore() >= 82; } } }
[object Object],Method Override -  Жишээ public class TestClass { public static void main(String[] args) { //  сургууль   объектыг үүсгэе.  School ktmc = new School(); ktmc.setName(&quot;KTMC&quot;); ktmc.setAddress(&quot;Sansar, Ulaanbaator, Mongolian&quot;); //  зарим хичээл объектууд үүсгэе Course sw203 = new Course(&quot;SW203&quot;, &quot;Object-oriented Programming&quot;, 3); Course sw508 = new Course(&quot;SW508&quot;, &quot;Object-oriented Analysis and Design&quot;, 3); Course sw811 = new Course(&quot;SW811&quot;, &quot;Advanced Artificial Intelligence&quot;, 3); //  Бакалаврын оюутан гэсэн объект үүсгэе Student bachelor = new BachelorStudent(); bachelor.setId(&quot;SW050001&quot;); bachelor.setName(&quot;Baatar&quot;); bachelor.setSchool(ktmc); bachelor.setGrades(new Grade[]{new Grade(&quot;Fall&quot;, 2006, sw203)}); //  Магистр оюутан гэсэн объект үүсгэе Student master = new MasterStudent(); master.setId(&quot;SW020001&quot;); master.setName(&quot;Chimgee&quot;); master.setSchool(ktmc); master.setGrades(new Grade[]{new Grade(&quot;Fall&quot;, 2006, sw508)}); //  Докторант оюутан гэсэн объект үүсгэе Student doctorate = new DoctorateStudent(); doctorate.setId(&quot;SW990001&quot;); doctorate.setName(&quot;Tuya&quot;); doctorate.setSchool(ktmc); doctorate.setGrades(new Grade[]{new Grade(&quot;Fall&quot;, 2006, sw811)});
[object Object],[object Object],Method Override -  Жишээ //  өмнөх хуудсын үргэлжлэл … //  одоо оюутандуудыг оноогоор дүгнэе //  тэгээд оюутнуудыг дүгнэсэн оноо зөв олгогдсон эсэхийг шалгаж үзье. bachelor.getGrades()[0].setScore(81); System.out.println(&quot;bachelor student passed SW203? &quot; + bachelor.isPassed(sw203)); bachelor.getGrades()[0].setScore(73.9); System.out.println(&quot;bachelor student passed SW203? &quot; + bachelor.isPassed(sw203)); master.getGrades()[0].setScore(81); System.out.println(&quot;master student passed SW511? &quot; + master.isPassed(sw508)); master.getGrades()[0].setScore(87); System.out.println(&quot;master student passed SW511? &quot; + master.isPassed(sw508)); doctorate.getGrades()[0].setScore(48); System.out.println(&quot;doctorate student passed SW811? &quot; + doctorate.isPassed(sw811)); doctorate.getGrades()[0].setScore(61); System.out.println(&quot;doctorate student passed SW811? &quot; + doctorate.isPassed(sw811)); } } bachelor student passed SW203? true bachelor student passed SW203? false master student passed SW511? false master student passed SW511? true doctorate student passed SW811? false doctorate student passed SW811? false
Method Override –  санамж ,[object Object],[object Object],[object Object],[object Object],// from Student.class... public boolean  isPassed(Course course)  { Grade grade = getGrade(course); if (grade == null) { return false; } else { return  grade.getScore() > 50; } } // from BachelorStudent.class... public boolean  isPassed(Course course)  { Grade grade = getGrade(course); if (grade == null) { return false; } else { return  grade.getScore() >= 74 ; } } Ижил дүрслэл Ялгаатай үүрэг
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Method Override -  Жишээ
[object Object],[object Object],[object Object],[object Object],Method Override -  Жишээ public class  BachelorStudent  extends Student { public boolean isPassed(Course course)  { // method override Grade grade = getGrade(course); if (grade == null) { return false; } else { return  grade.getScore() >= 74 ; } } } public class  MasterStudent  extends Student { public boolean isPassed(Course course)  { // method override Grade grade = getGrade(course); if (grade == null) { return false; } else { return grade.getScore() >= 82; } } }
[object Object],Method Override -  Жишээ public class TestClass { public static void main(String[] args) { //  сургууль   объектыг үүсгэе.  School ktmc = new School(); ktmc.setName(&quot;KTMC&quot;); ktmc.setAddress(&quot;Sansar, Ulaanbaator, Mongolian&quot;); //  зарим хичээл объектууд үүсгэе Course sw203 = new Course(&quot;SW203&quot;, &quot;Object-oriented Programming&quot;, 3); Course sw508 = new Course(&quot;SW508&quot;, &quot;Object-oriented Analysis and Design&quot;, 3); Course sw811 = new Course(&quot;SW811&quot;, &quot;Advanced Artificial Intelligence&quot;, 3); //  Бакалаврын оюутан гэсэн объект үүсгэе Student bachelor = new BachelorStudent(); bachelor.setId(&quot;SW050001&quot;); bachelor.setName(&quot;Baatar&quot;); bachelor.setSchool(ktmc); bachelor.setGrades(new Grade[]{new Grade(&quot;Fall&quot;, 2006, sw203)}); //  Магистр оюутан гэсэн объект үүсгэе Student master = new MasterStudent(); master.setId(&quot;SW020001&quot;); master.setName(&quot;Chimgee&quot;); master.setSchool(ktmc); master.setGrades(new Grade[]{new Grade(&quot;Fall&quot;, 2006, sw508)}); //  Докторант оюутан гэсэн объект үүсгэе Student doctorate = new DoctorateStudent(); doctorate.setId(&quot;SW990001&quot;); doctorate.setName(&quot;Tuya&quot;); doctorate.setSchool(ktmc); doctorate.setGrades(new Grade[]{new Grade(&quot;Fall&quot;, 2006, sw811)});
[object Object],[object Object],Method Override -  Жишээ //  өмнөх хуудсын үргэлжлэл … //  одоо оюутандуудыг оноогоор дүгнэе //  тэгээд оюутнуудыг дүгнэсэн оноо зөв олгогдсон эсэхийг шалгаж үзье. bachelor.getGrades()[0].setScore(81); System.out.println(&quot;bachelor student passed SW203? &quot; + bachelor.isPassed(sw203)); bachelor.getGrades()[0].setScore(73.9); System.out.println(&quot;bachelor student passed SW203? &quot; + bachelor.isPassed(sw203)); master.getGrades()[0].setScore(81); System.out.println(&quot;master student passed SW511? &quot; + master.isPassed(sw508)); master.getGrades()[0].setScore(87); System.out.println(&quot;master student passed SW511? &quot; + master.isPassed(sw508)); doctorate.getGrades()[0].setScore(48); System.out.println(&quot;doctorate student passed SW811? &quot; + doctorate.isPassed(sw811)); doctorate.getGrades()[0].setScore(61); System.out.println(&quot;doctorate student passed SW811? &quot; + doctorate.isPassed(sw811)); } } bachelor student passed SW203? true bachelor student passed SW203? false master student passed SW511? false master student passed SW511? true doctorate student passed SW811? false doctorate student passed SW811? false
Method Override –  санамж ,[object Object],[object Object],[object Object],[object Object],// from Student.class... public boolean  isPassed(Course course)  { Grade grade = getGrade(course); if (grade == null) { return false; } else { return  grade.getScore() > 50; } } // from BachelorStudent.class... public boolean  isPassed(Course course)  { Grade grade = getGrade(course); if (grade == null) { return false; } else { return  grade.getScore() >= 74 ; } } Ижил дүрслэл Ялгаатай үүрэг
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Method Override -  Жишээ
Хийсвэрлэлт ийг цөөн үгээр ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Student BachelorStudent DoctorateStudent MasterStudent extends
Оюутан классын програмын бичлэгийг авч үзье. public class Student { String code; String name; int credit; double GPA; public String getCode() { return code; } public void setCode(String code) { this.code = code; } public int getCredit() { return credit; } public void setCredit(int credit) { this.credit = credit; } public double getGPA() { return GPA; } public void setGPA(double gpa) { GPA = gpa; } public String getName() { return name; } public void setName(String name) { this.name = name; } } Дээр Оюутан класс тодорхойлсон байна. Оюутан классд 4 гишүүн өгөгдөл ба  тэдгээрт утга олгох, тэдгээрийн утгыг авч унших  mutator methods  буюу  setter  ба   getter methods -ийг тодорхойлов.  Оюутан классд тухайн оюутан нь төгсөгч оюутан мөн эсэхийг шалгах үүрэгтэй  isCraduator   нэртэй гишүүн Функц   шаардлагатай гэж үзье.
Оюутан классын програмын бичлэгийг авч үзье. public class Student { String code; String name; int credit; double GPA; public String getCode() { return code; } public void setCode(String code) { this.code = code; } public int getCredit() { return credit; } public void setCredit(int credit) { this.credit = credit; } public double getGPA() { return GPA; } public void setGPA(double gpa) { GPA = gpa; } public String getName() { return name; } public void setName(String name) { this.name = name; }   isGraduator (   ){ ...   } } Асуулт:  isGraduator(   )  гишүүн функцын аргумент, гүйцэтгэх үйлдэл, буцаах утга ямар байх вэ? Хариулт:  Бодит амьдралын шаардлагатай уялдуулан хийсвэрлэнэ.
[object Object],Оюутан классын програмын бичлэгийг авч үзье. public class Student { String code; String name; int credit; double GPA; public String getCode() { return code; } public void setCode(String code) { this.code = code; } public int getCredit() { return credit; } public void setCredit(int credit) { this.credit = credit; } public double getGPA() { return GPA; } public void setGPA(double gpa) { GPA = gpa; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isGraduator(int credit, double gpa){ if ((gpa>=2.0) && (this.credit>=122))  {return true;} else return false;} }
Method Override -  Жишээ ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Method Override -  Жишээ public class  BachelorStudent  extends Student { public boolean isGraduator(int credit, double gpa){ if ((gpa>=2.5) && (this.credit>=60))  {return true;}   else return false;   } } public class  MasterStudent  extends Student { public boolean isGraduator(int credit, double gpa){ if ((gpa>=3.5) && (this.credit>=33))  {return true;}   else return false;   } }
[object Object],[object Object],[object Object],[object Object],Method Override -  Жишээ public class  BachelorStudent  extends Student { public boolean isPassed(Course course) { // method override Grade grade = getGrade(course); if (grade == null) { return false; } else { return  grade.getScore() >= 74 ; } } } public class  MasterStudent  extends Student { public boolean isPassed(Course course) { // method override Grade grade = getGrade(course); if (grade == null) { return false; } else { return grade.getScore() >= 82; } } }
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Constructor override-  Жишээ
[object Object],Constructor override-  Жишээ public 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; } } Байгуулагч функц  Гишүүн өгөгдөл Классын нэр
[object Object],[object Object],[object Object],Constructor override-  Жишээ public class  ProgrammingCourse  extends Course { public ProgrammingCourse() { super(&quot;SW203&quot;, &quot;Programming Course&quot;, 3); } } public class  ProgrammingCourse  extends Course { public ProgrammingCourse(String id, String name, int credit) { super(id, name, credit); } } Жишээ  1 Жишээ  2
[object Object],[object Object],Constructor override-  Жишээ public 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 class  ProgrammingCourse  extends Course { public  ProgrammingCourse(String id, String name, int credit)  { super(id, name, credit); } } Ижил дүрслэл
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Constructor override-  Жишээ
[object Object],Constructor override-  Жишээ 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 + &quot; Laboratory&quot;); } } Эх классын байгуулагчийг дуудах мөр хамгийн эхэнд байна.  Бусад кодыг дараа нь нэмж бичиж болно.
[object Object],Constructor override-  Жишээ public class  LeadingLecture  extends Course { protected AccompanyingSession[] sessions; public LeadingLecture(String id, String name, int credit) { super(id, name, credit); } public AccompanyingSession[] getSessions() { return sessions; } } public class  AccompanyingSession  extends Course { private LeadingLecture lecture; /**  дагалдах цагууд нь кредитгүй  */ public AccompanyingSession(LeadingLecture lecture, String id, String name) { super(id, name, 0);  //  Кредитгүй this.lecture = lecture; System.out.println (&quot;created accompanying session for &quot; + name); } public LeadingLecture getLecture() { return lecture; } } public class  Seminar  extends AccompanyingSession { public Seminar(LeadingLecture lecture, String id, String name) { super(lecture, id, name); } } public class  Laboratory  extends AccompanyingSession { public Laboratory(LeadingLecture lecture, String id, String name) { super(lecture, id, name); }}
[object Object],[object Object],Constructor override-  Жишээ public class TestClass { public static void main(String[] args) { System.out.println(&quot;Creating SW203...&quot;); Course SW203 = new ProgrammingCourse(&quot;SW203&quot;, &quot;Object-oriented Programming&quot;, 3); System.out.println(); System.out.println(&quot;Creating MA201...&quot;); Course MA201 = new MathCourse(&quot;MA201&quot;, &quot;Algebra II&quot;, 3); System.out.println(); System.out.println(&quot;Creating FL350...&quot;); Course EN350 = new LanguageCourse(“FL350&quot;, &quot;Business English II&quot;, 4); } } Creating SW203... created accompanying session for Object-oriented Programming Laboratory Creating MA201... Creating FL350... created accompanying session for Business English II Seminar I created accompanying session for Business English II Seminar II
Boat()  Gette r  functions &  Setter   functions tellAboutSelf() StateRegistrationNo Length Manufacturer Year Boat Sail Boat()  Gette r  functions &  Setter   functions tellAboutSelf() keelDepth numberSails motorType Sailboat Power Boat()  Gette r  functions &  Setter   functions tellAboutSelf() numberOfEngines fuelType PowerBoat
 
 
 

Mais conteúdo relacionado

Mais procurados

Presentation1 өгөгдлийн сан
Presentation1 өгөгдлийн санPresentation1 өгөгдлийн сан
Presentation1 өгөгдлийн сан
baterden
 
It101 lab11 use case
It101 lab11 use caseIt101 lab11 use case
It101 lab11 use case
BPurev
 
өгөгдлийн сан
өгөгдлийн санөгөгдлийн сан
өгөгдлийн сан
Onon Tuul
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lekts
Алдарболд Э.
 

Mais procurados (20)

Sw203 Lecture10 Polymorphism
Sw203 Lecture10 PolymorphismSw203 Lecture10 Polymorphism
Sw203 Lecture10 Polymorphism
 
Database 3
Database 3Database 3
Database 3
 
Lecture 4 нийлмэл удамшил
Lecture 4 нийлмэл удамшилLecture 4 нийлмэл удамшил
Lecture 4 нийлмэл удамшил
 
Лекц 9(Заагч)
Лекц 9(Заагч)Лекц 9(Заагч)
Лекц 9(Заагч)
 
Lec5 angi
Lec5 angiLec5 angi
Lec5 angi
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
 
CS203 Лекц02 Oop
CS203 Лекц02  OopCS203 Лекц02  Oop
CS203 Лекц02 Oop
 
CS203 Лекц01 Prefeace
CS203 Лекц01  PrefeaceCS203 Лекц01  Prefeace
CS203 Лекц01 Prefeace
 
Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14
 
Presentation1 өгөгдлийн сан
Presentation1 өгөгдлийн санPresentation1 өгөгдлийн сан
Presentation1 өгөгдлийн сан
 
Лекц №9
Лекц №9Лекц №9
Лекц №9
 
Rdbms 300 test
Rdbms 300 testRdbms 300 test
Rdbms 300 test
 
It101 lab11 use case
It101 lab11 use caseIt101 lab11 use case
It101 lab11 use case
 
Diplom udirdamj
Diplom udirdamjDiplom udirdamj
Diplom udirdamj
 
өгөгдлийн сан
өгөгдлийн санөгөгдлийн сан
өгөгдлийн сан
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lekts
 
u.cs101 "Алгоритм ба програмчлал" Лекц №4
u.cs101 "Алгоритм ба програмчлал" Лекц №4u.cs101 "Алгоритм ба програмчлал" Лекц №4
u.cs101 "Алгоритм ба програмчлал" Лекц №4
 
Pp Lect1 1
Pp Lect1 1Pp Lect1 1
Pp Lect1 1
 
Ood lesson6 class
Ood lesson6 classOod lesson6 class
Ood lesson6 class
 
Se304
Se304Se304
Se304
 

Destaque (20)

Sw203 Lecture3 Advanced Java Program
Sw203 Lecture3 Advanced Java ProgramSw203 Lecture3 Advanced Java Program
Sw203 Lecture3 Advanced Java Program
 
Database design & Normalization (1NF, 2NF, 3NF)
Database design & Normalization (1NF, 2NF, 3NF)Database design & Normalization (1NF, 2NF, 3NF)
Database design & Normalization (1NF, 2NF, 3NF)
 
Lab5
Lab5Lab5
Lab5
 
Програм ба зүйрлэл
Програм ба зүйрлэлПрограм ба зүйрлэл
Програм ба зүйрлэл
 
Лабораторийн ажил № 2
Лабораторийн ажил № 2Лабораторийн ажил № 2
Лабораторийн ажил № 2
 
Sw203lab5
Sw203lab5Sw203lab5
Sw203lab5
 
Laboratory 14
Laboratory 14Laboratory 14
Laboratory 14
 
Cs203 lab8
Cs203 lab8Cs203 lab8
Cs203 lab8
 
Sw203lab6
Sw203lab6Sw203lab6
Sw203lab6
 
Sw203 Lab7
Sw203 Lab7Sw203 Lab7
Sw203 Lab7
 
Lab10 11
Lab10 11Lab10 11
Lab10 11
 
Лабораторийн ажил № 1
Лабораторийн ажил № 1Лабораторийн ажил № 1
Лабораторийн ажил № 1
 
Lab6 db
Lab6 dbLab6 db
Lab6 db
 
SW203 Lab10
SW203  Lab10SW203  Lab10
SW203 Lab10
 
Lab7
Lab7Lab7
Lab7
 
Lab 12
Lab 12Lab 12
Lab 12
 
Video lab1-web
Video lab1-webVideo lab1-web
Video lab1-web
 
Sw203 Lecture12 Composition
Sw203 Lecture12 CompositionSw203 Lecture12 Composition
Sw203 Lecture12 Composition
 
Cs203 lecture 14 reflection
Cs203 lecture 14  reflectionCs203 lecture 14  reflection
Cs203 lecture 14 reflection
 
S W203 Lecture8 Interface
S W203  Lecture8  InterfaceS W203  Lecture8  Interface
S W203 Lecture8 Interface
 

Semelhante a Sw203 Lecture7 Method Override (9)

SW203 Lab9
SW203  Lab9SW203  Lab9
SW203 Lab9
 
Lecture4
Lecture4Lecture4
Lecture4
 
Sw203 Lab4
Sw203 Lab4Sw203 Lab4
Sw203 Lab4
 
Лекц 6 - 7
Лекц 6 - 7Лекц 6 - 7
Лекц 6 - 7
 
Moodle surgalt
Moodle surgaltMoodle surgalt
Moodle surgalt
 
Lecture3 4
Lecture3 4Lecture3 4
Lecture3 4
 
Ood lesson12.1 ---------
Ood lesson12.1  ---------Ood lesson12.1  ---------
Ood lesson12.1 ---------
 
Pl lecture7
Pl lecture7Pl lecture7
Pl lecture7
 
001cclass 120926194905-phpapp02
001cclass 120926194905-phpapp02001cclass 120926194905-phpapp02
001cclass 120926194905-phpapp02
 

Sw203 Lecture7 Method Override

  • 1. Объект хандлагат програмчлалын хэл Java Хичээл : C S203 Багш : Д.Энхжаргал Mongolia University of Science & Technology Лекц №7. Даран тодорхойлсон функц (Method override)
  • 2.
  • 3. Method Override Удамшил Method override: Ижил нэртэй ялгаатай функц тодорхойлох Багш __ мэдээлэл Хичээлийн код calc__salary(age) Ажилтан _ мэдээлэл Нэр Төрсөн огноо Нас Хаяг calc__age(birthday) calc__salary(age)
  • 4. Course CS Course Math Course Cisco Course Programming Course Basic Math Course Advanced Math Course extends extends extends extends extends extends Method override -ийн шаардлага
  • 5. Course getCourseCredit()::3 CS Course Math Course Cisco Course Programming Course Basic Math Course extends extends extends extends extends extends Advanced Math Course Онцгой тохиолдол Учир нь: Course классаас удамших классууд нь бүгд 3 кредитийн хичээлүүд бөгөөд харин Advanced Math Course нь 4 кредитийн хичээл Асуудлыг хэрхэн шийдэх вэ? Method override -ийн шаардлага Course 1 getCourseCredit():: 4 extends ×
  • 6. Course getCourseCredit()::3 CS Course Math Course Cisco Course Programming Course Basic Math Course extends extends extends extends extends extends Advanced Math Course getCourseCredit()::4 Онцгой тохиолдол Учир нь: Course классаас удамших классууд нь бүгд 3 кредитийн хичээлүүд бөгөөд харин Advanced Math Course нь 4 кредитийн хичээл Асуудлыг хэрхэн шийдэх вэ? Эх классын гишүүн функцтэй ижил дүрслэлтэй гишүүн функцыг түүнд тодорхойлж өгөх нь зүйтэй Method override -ийн шаардлага
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Оюутан классын програмын бичлэгийг авч үзье. public class Student { String code; String name; int credit; double GPA; public String getCode() { return code; } public void setCode(String code) { this.code = code; } public int getCredit() { return credit; } public void setCredit(int credit) { this.credit = credit; } public double getGPA() { return GPA; } public void setGPA(double gpa) { GPA = gpa; } public String getName() { return name; } public void setName(String name) { this.name = name; } } Дээр Оюутан класс тодорхойлсон байна. Оюутан классд 4 гишүүн өгөгдөл ба тэдгээрт утга олгох, тэдгээрийн утгыг авч унших mutator methods буюу setter ба getter methods -ийг тодорхойлов. Оюутан классд тухайн оюутан нь төгсөгч оюутан мөн эсэхийг шалгах үүрэгтэй isCraduator нэртэй гишүүн Функц шаардлагатай гэж үзье.
  • 25. Оюутан классын програмын бичлэгийг авч үзье. public class Student { String code; String name; int credit; double GPA; public String getCode() { return code; } public void setCode(String code) { this.code = code; } public int getCredit() { return credit; } public void setCredit(int credit) { this.credit = credit; } public double getGPA() { return GPA; } public void setGPA(double gpa) { GPA = gpa; } public String getName() { return name; } public void setName(String name) { this.name = name; } isGraduator ( ){ ... } } Асуулт: isGraduator( ) гишүүн функцын аргумент, гүйцэтгэх үйлдэл, буцаах утга ямар байх вэ? Хариулт: Бодит амьдралын шаардлагатай уялдуулан хийсвэрлэнэ.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Boat() Gette r functions & Setter functions tellAboutSelf() StateRegistrationNo Length Manufacturer Year Boat Sail Boat() Gette r functions & Setter functions tellAboutSelf() keelDepth numberSails motorType Sailboat Power Boat() Gette r functions & Setter functions tellAboutSelf() numberOfEngines fuelType PowerBoat
  • 39.  
  • 40.  
  • 41.