









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A series of lecture notes from the object-oriented design course offered at sharif university of technology. The notes cover topics such as generalization and specialization relationships, inheritance, overriding, abstract operations and classes, abstraction level, and polymorphism. The document also introduces the concept of generalization sets and provides an example of their implementation.
Typology: Slides
1 / 15
This page cannot be seen from the preview
Don't miss anything!










Department of Computer Engineering
Department of Computer Engineering
Analysis Workflow: Analyze a Use Case The analysis workflow consists of the following activities: Architectural analysis Analyze a use case Outputs: analysis classes use case realizations Analyze a class Analyze a package
Department of Computer Engineering
Generalization/Specialization Generalization hierarchies may be created by generalizing from specific things or by specializing from general things.
Department of Computer Engineering
Inheritance Class inheritance is implicit in a generalization relationship between classes. The subclass inherits the following features from its parents - attributes, operations, relationships, and constraints.
Department of Computer Engineering
Abstract Operations and Classes Abstract operations are designed to have no implementation: they serve as placeholders; all concrete subclasses must implement all inherited abstract operations. An abstract class has one or more abstract operations: abstract classes can't be instantiated; abstract classes define a contract as a set of abstract operations that concrete subclasses must implement.
Department of Computer Engineering
Abstraction Level all things at the same level in a generalization hierarchy should be at the same level of abstraction.
Department of Computer Engineering
Polymorphism: Example
Department of Computer Engineering
Polymorphism: Concrete Operations Polymorphic operations have more than one implementation: different classes may implement the same polymorphic (abstract/concrete) operation differently; polymorphism allows instances of different classes to respond to the same message in different ways.
Department of Computer Engineering
Generalization Sets: Implementation
Department of Computer Engineering
Generalization Sets: Example