Inheritance II and Midterm Review (Discussion 5) (Kế thừa trong lập trình hướng đối tượng) - Christine Zhou
Génération de l'aperçu...
Tài liệu thảo luận về kế thừa trong lập trình hướng đối tượng, bao gồm quy tắc gọi phương thức, field hiding, và ôn tập giữa kỳ với bài tập reduce.
Description
Discussion 5: Inheritance and Midterm Review Christine Zhou Agenda Announcements Inheritance Practice 4. Midterm Review on Worksheet 2. Reduce on Worksheet Announcements Field hiding is in scope! Same as static lookup Sorry for the mix-up. We’ll go over this today Midterm is tomorrow 8-10PM. Room assignments on Piazza Go to right rooms! Best of luck! HW3 is due Friday 11:59PM Get started on the project! Discussion survey: tinyurl.com/disc5cz Inheritance Rules For non-static methods: During compilation: If static type has the method, it compiles. Otherwise check parent, parent… Compile time error if no more parent and still haven’t found the method. During runtime: Run the method in the dynamic type. Otherwise check parent, parent... For static method: During compilation: Same as non-static During runtime: Run the method found during compilation (don’t look at the dynamic type!) Always look at the dynamic type when running methods, unless the method is static! For fields: Use same procedures as static method lookup Look in the static type for the field and use the field that you eventually find Field Hiding If you have a variable of the same name in the static and dynamic type, then this is called “field hiding/shadowing”. It’s possible for the field in the static type to “hide/shadow” the field in the dynamic type. Field hiding is not good practice! Example public class Animal { public String x = “Animal”; public static void staticM() { System.out.println(“A static”); } public class Dog extends Animal { public String x = “Dog”; public static void staticM() { System.out.println(“D static”); } public void nonStaticM() { System.out.println(“A public void nonStaticM() { nonStatic”); System.out.println(“D } nonStatic”); public static void m1(Animal a) { } System.out.println(“A m1”); a.nonStaticM(); } } } public class Runner { public static void main(String[] args) { Animal a = new Dog(); System.out.println(a.x); a.nonS
Résumé IA
- Nom du document
- Inheritance II and Midterm Review (Discussion 5) (Kế thừa trong lập trình hướng đối tượng) - Christine Zhou
- École / Cours
- University of California, Berkeley · Lập trình Java
- Auteur (dans le document)
- Christine Zhou
- Contenu
- Tài liệu về kế thừa và giảm thiểu trong lập trình hướng đối tượng
- Table des matières
- Agenda
- Announcements
- Inheritance Rules
- Field Hiding
- Example
- Midterm Review
- Reduce
- Pages
- 9 pages
- Téléversé par
- Uni24h
Foire aux questions
Ce document est-il gratuit ?
Oui. « Inheritance II and Midterm Review (Discussion 5) (Kế thừa trong lập trình hướng đối tượng) - Christine Zhou » est gratuit — il suffit de vous connecter et de cliquer sur Télécharger pour obtenir le fichier original.
Combien de pages compte ce document ?
Le document contient 9 pages, pour le cours Lập trình Java. Vous pouvez le prévisualiser en ligne avant de le télécharger.
Puis-je prévisualiser avant de télécharger ?
Oui. Vous pouvez prévisualiser ce document directement sur cette page avec le lecteur en ligne, puis décider de le télécharger ou non.
Inheritance II and Midterm Review (Discussion 5) (Kế thừa trong lập trình hướng đối tượng) - Christine Zhou
Génération de l'aperçu...
Discussion 5: Inheritance and Midterm Review Christine Zhou Agenda Announcements Inheritance Practice 4. Midterm Review on Worksheet 2. Reduce on Worksheet Announcements Field hiding is in scope! Same as static lookup Sorry for the mix-up. We’ll go over this today Midterm is tomorrow 8-10PM. Room assignments on Piazza Go to right rooms! Best of luck! HW3 is due Friday 11:59PM Get started on the project! Discussion survey: tinyurl.com/disc5cz Inheritance Rules For non-static methods: During compilation: If static type has the method, it compiles. Otherwise check parent, parent… Compile time error if no more parent and still haven’t found the method. During runtime: Run the method in the dynamic type. Otherwise check parent, parent... For static method: During compilation: Same as non-static During runtime: Run the method found during compilation (don’t look at the dynamic type!) Always look at the dynamic type when running methods, unless the method is static! For fields: Use same procedures as static method lookup Look in the static type for the field and use the field that you eventually find Field Hiding If you have a variable of the same name in the static and dynamic type, then this is called “field hiding/shadowing”. It’s possible for the field in the static type to “hide/shadow” the field in the dynamic type. Field hiding is not good practice! Example public class Animal { public String x = “Animal”; public static void staticM() { System.out.println(“A static”); } public class Dog extends Animal { public String x = “Dog”; public static void staticM() { System.out.println(“D static”); } public void nonStaticM() { System.out.println(“A public void nonStaticM() { nonStatic”); System.out.println(“D } nonStatic”); public static void m1(Animal a) { } System.out.println(“A m1”); a.nonStaticM(); } } } public class Runner { public static void main(String[] args) { Animal a = new Dog(); System.out.println(a.x); a.nonS
Lire le document entier
- Nom du document
- Inheritance II and Midterm Review (Discussion 5) (Kế thừa trong lập trình hướng đối tượng) - Christine Zhou
- École / Cours
- University of California, Berkeley · Lập trình Java
- Auteur (dans le document)
- Christine Zhou
- Contenu
- Tài liệu về kế thừa và giảm thiểu trong lập trình hướng đối tượng
- Table des matières
- Agenda
- Announcements
- Inheritance Rules
- Field Hiding
- Example
- Midterm Review
- Reduce
- Pages
- 9 pages
- Téléversé par
- Uni24h
Commentaires (0)
Aucun commentaire pour le moment. Soyez le premier !
Misc.onclusion (Discussion 14-END) (Ôn tập cấu trúc dữ liệu) - Christine Zhou
Final Review Solutions (Cấu trúc dữ liệu heap, hàng đợi ưu tiên và duyệt đồ thị) - Ching and Christines
Giáo trình Lập trình Java
Inheritance (Discussion 4) (Kế thừa trong Java) - Christine Zhou
Asymptotic Analysis (Discussion 7) (Phân tích tiệm cận) - Christine Zhou
Chương 7.Cơ học lượng tử - Vật lý đại cương 3 - TS.Nguyễn Thị Trang
Chương 6.Quang học lượng tử - Vật lý đại cương 3 - TS.Nguyễn Thị Trang
Chương 5.Thuyết tương đối - Vật lý đại cương 3 - TS.Nguyễn Thị Trang
Chương 4. Tán xạ ánh sáng - Vật lý đại cương 3 - TS.Nguyễn Thị Trang
Chương 3.Phân cực ánh sáng - Vật lý đại cương 3 - TS.Nguyễn Thị Trang
Commentaires (0)
Aucun commentaire pour le moment. Soyez le premier !