DOC PREVIEW
DREXEL CS 265 - ood

This preview shows page 1-2-3-4-5 out of 15 pages.

Save
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Key Features of OO Approach Data encapsulation data and methods are contained in a single unit object promotes internal integrity simplifies coding debugging and maintenance Data hiding no need to know all the details of implementation Object Oriented Programming Key Features of OO Approach Inheritance augment restrict specialize behavior provides mechanism for reuse Polymorphism different behavior of the same method or operator depending on the class and or parameters Object Oriented Programming What Is Design Reiss design in the most general sense is an abstract description of how something is built Design involves finding the set of alternatives most relevant to the problem analyzing that set and then choosing a subset of the alternatives that cooperatively solves the problem at hand in the best manner making tradeoffs Object Oriented Programming Quality of Design Level of detail of components should be the same Number of components should be reasonable The hierarchy of components should be terminated at an appropriate level Object Oriented Programming Object Oriented Decomposition Well defined interfaces Cluster related objects Object Oriented Programming Object a tangible self contained entity that exhibits some well defined behavior has state behavior and identity the structure and behavior of similar objects are defined in their common class exists at run time Object Oriented Programming Class description of a number of similar objects custom data type objects are instances of the class consists of interface and implementation provides three levels of access control public protected private classes are related in various ways Object Oriented Programming ifndef BANKACCOUNT H define BANKACCOUNT H interface include string class BankAccount private attributes string acctOwner int acctNum double curBalance public constructors BankAccount string int BankAccount string int double BankAccount destructor void setBalance double modifier double getBalance const selector endif implementation include bankacct h BankAccount BankAccount string name int number acctOwner name acctNum number curBalance 0 initializing BankAccount BankAccount string name int number double balance acctOwner name acctNum number curBalance balance void BankAccount setBalance double newBalance curBalance newBalance double BankAccount getBalance const return curBalance use using namespace std include bankacct h void main pointer BankAccount ba new BankAccount Jones 1234 ba setBalance 200 00 cout The balance is ba getBalance endl delete ba deallocation Evaluation criteria for a design Correctness completeness Simplicity Risk management Cohesion and coupling Information hiding Error handling Object Oriented Programming Simplification Can operations be removed Can data elements be removed Can parameters be removed from operations Can parameter and return types for operations be simplified Are the operations and their parameters logically consistent Object Oriented Programming Simplify by making methods short Pseudocoding coding guideline a method should fit onto one page one screen If the method is too long split it into separate methods If there are too many methods in a class rewrite a method so that it invokes lower level classes Object Oriented Programming Cohesion and Coupling A class is cohesive if everything is directed toward a central purpose A class has good coupling if it has minimal dependency on other classes A class should not need to know the implementation of another class Object Oriented Programming Implementing OO design Two steps Convert class design into class declarations Construct real code from pseudocode Object Oriented Programming


View Full Document

DREXEL CS 265 - ood

Loading Unlocking...
Login

Join to view ood and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view ood and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?