1 / 22

Advanced Programming in Java

Advanced Programming in Java. Sadegh Aliakbary Sharif University of Technology Fall 2012. Agenda. interface Multiple Inheritance. Review : Abstract. Abstract Methods No Implementation Sub-classes may implement abstract methods Abstract Classes Can not be instantiated

zazu
Download Presentation

Advanced Programming in Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Programming in Java SadeghAliakbary Sharif University of Technology Fall 2012

  2. Agenda • interface • Multiple Inheritance Sharif University of Technology

  3. Review : Abstract • Abstract Methods • No Implementation • Sub-classes may implement abstract methods • Abstract Classes • Can not be instantiated • (Usually) A class with one or more abstract methods • A class which extends an abstract class • Is abstract unless it implements all the abstract methods • Concrete class Not abstract class Sharif University of Technology

  4. Abstract Example Sharif University of Technology

  5. Abstract Method • All subclasses have the method • But we can not implement the method in super-class • So why we define it in super-class? • Polymorphism Sharif University of Technology

  6. Interface • Sometimes we have an abstract class, with no concrete method • interface : pure abstract class • no implemented method Sharif University of Technology

  7. Interface Sharif University of Technology

  8. Interface • All the methods are implicitly abstract • No need to abstract specifier • All the methods are implicitly public • No need to public specifier Sharif University of Technology

  9. Interface Implementation • Some classes may inherit abstract classes • Some classes may implement interfaces • Is-a relation exists • If a class implements an interface • But does not implement all the methods • What will happen? • The class becomes an abstract class Sharif University of Technology

  10. Sharif University of Technology

  11. Multiple Inheritance in Java • A class can inherit one and only one class • A class may implement zero or more interfaces Sharif University of Technology

  12. Sharif University of Technology

  13. A Question • Why multiple inheritance is not supported for classes? • Why multiple inheritance is supported for interfaces? Sharif University of Technology

  14. What About Name Collision? The return types are incompatible for the inherited methods B.f(), A.f() Sharif University of Technology

  15. Sharif University of Technology

  16. Interface Extension • Interfaces may inherit other interfaces • Code reuse • Is-a relation Sharif University of Technology

  17. Interface properties • No member variable • Variables : implicitly final and static • Usually interfaces declare no variable • Only operations are declared • No constructor • Why? Sharif University of Technology

  18. Example Sharif University of Technology

  19. Interfaces Applications • Pure Abstract classes • Describe the design • The architect designs interfaces, the programmer implements them • Only interfaces are delivered to code consumers • More powerful inheritance and polymorphism Sharif University of Technology

  20. Quiz! Sharif University of Technology

  21. OK References Compiler Error d = new D(); d = new E(); c= new E(); b = new E(); a = b; b.f(); A a; B b; C c; D d; c = d; d = c; b = d; d = b; a.f(); Sharif University of Technology

  22. Sharif University of Technology

More Related