0% found this document useful (0 votes)
17 views19 pages

Lecture 2.part1

The document discusses object-oriented programming concepts including classes, objects, methods, inheritance, and the software development lifecycle. Classes define objects and their behaviors through methods. Objects are instances of classes that can receive and respond to messages. Inheritance allows classes to share common features from a superclass.

Uploaded by

Đàm Ngọc Nam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views19 pages

Lecture 2.part1

The document discusses object-oriented programming concepts including classes, objects, methods, inheritance, and the software development lifecycle. Classes define objects and their behaviors through methods. Objects are instances of classes that can receive and respond to messages. Inheritance allows classes to share common features from a superclass.

Uploaded by

Đàm Ngọc Nam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

OOP Concepts

Objectives
After you have read and studied this chapter, you
should be able to
• Name the basic components of object-oriented
programming
• Differentiate classes and objects.
• Differentiate class and instance methods.
• Differentiate class and instance data values.
• Draw program diagrams using icons for classes and
objects
• Describe significance of inheritance in object-oriented
programs
• Name and explain the stages of the software lifecycle
Classes and Objects

• Object-oriented programs use objects.


• An object is a thing, both tangible and intangible. Account,
Vehicle, Employee, etc.
• To create an object inside the computer program, we must
provide a definition for objects—how they behave and what
kinds of information they maintain —called a class.
• An object is called an instance of a class.
Graphical Representation of a Class
<Class Name> We use a rectangle to
represent a class with
its name appearing
inside the rectangle.

Example: Account Motorcycle

The notation we used here is based on the industry standard notation


called UML, which stands for Unified Modeling Language.
Graphical Representation of an Object

We use a rectangle to
represent an object and
<Object Name> place the underlined
name of the object
inside the rectangle.

Example:

This is an object named


SV198 SV198.
An Object with the Class Name
This notation indicates
<Object Name> : <Class Name> the class which the
object is an instance.

Example:

This tells an object


SV198 : BankAccount SV198 is an instance of
the BankAccount class.
Messages and Methods
• To instruct a class or an object to perform a task, we send a
message to it.
• You can send a message only to the classes and objects that
understand the message you sent to them.
• A class or an object must possess a matching method to be
able to handle the received message.
• A method defined for a class is called a class method, and a
method defined for an object is called an instance method.
• A value we pass to an object when sending a message is
called an argument of the message.
Sending a Message
Message deposit with
the argument 250.00 is
sent to a BankAccount
object SV198.

deposit 250.00
SV198 : BankAccount
Sending a Message and Getting an Answer

Ask for the current


balance of this
particular account.

getCurrentBalance()
SV198 : BankAccount

current balance

The current balance of


SV198 is returned.
Calling a Class Method
Ask for the maximum
possible speed for all
MobileRobot objects is
returned.

MobileRobot
getMaximumSpeed()

maximum speed
Class and Instance Data Values
• An object is comprised of data values and methods.
• An instance data value is used to maintain information specific to individual
instances. For example, each BankAccount object maintains its balance.
• A class data value is used to maintain information shared by all instances or
aggregate information about the instances.
• For example, minimum balance is the information shared by all Account objects,
whereas the average balance of all BankAccount objects is an aggregate
information.
Sample Instance Data Value

SV129 : BankAccount SV098 : BankAccount SV211 : BankAccount

current balance current balance current balance


908.55 1304.98 354.00

All three BankAccount


The actual dollar
objects possess the
amounts are, of course,
same instance data
different.
value current balance.
Sample Class Data Value
BankAccount
minimum balance There is one copy of
minimum balance for
100.00 the whole class and
shared by all instances.

This line is an
instance-of
relationship.

SV129 : BankAccount SV098 : BankAccount SV211 : BankAccount

current balance current balance current balance


908.55 1304.98 354.00
Object Icon with Class Data Value

SV129 : BankAccount

minimum balance When the class icon is


100.00 not shown, we include
the class data value in
current balance the object icon itself.
908.55
Inheritance
• Inheritance is a mechanism in OOP to design two or more entities
that are different but share many common features.
• Features common to all classes are defined in the superclass.
• The classes that inherit common features from the superclass are called
subclasses.
• We also call the superclass an ancestor and the subclass a descendant.
A Sample Inheritance
• Here are the superclass Account and its subclasses
Savings and Checking.
Account

Checking Savings
Inheritance Hierarchy
• An example of inheritance hierarchy among different
types of students.
Student

Graduate Undergrad

Masters Doctoral Law Commuting Resident


Software Engineering
• Much like building a skyscraper, we need a disciplined approach in
developing complex software applications.
• Software engineering is the application of a systematic and
disciplined approach to the development, testing, and maintenance
of a program.
• In this class, we will learn how to apply sound software engineering
principles when we develop sample programs.
Software Life Cycle
• The sequence of stages from conception to
operation of a program is called software life cycle.
• Five stages are
• Analysis
• Design
• Coding
• Testing
• Operation and Maintenance

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy