Date post: | 31-Jan-2018 |
Category: |
Documents |
Upload: | vuongkhanh |
View: | 228 times |
Download: | 0 times |
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Introduction to Object OrientedProgramming
Kiwi Wang
DISP
March 21, 2014
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 1 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Outline
1 History
2 Basic Concepts
3 Code Pieces
4 Conclusion
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 2 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
History
Outline
1 History
2 Basic Concepts
3 Code Pieces
4 Conclusion
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 3 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
History Early Development
Simula 67
Working on simulations that deal with exploding ships.
They grouped the ships into different categories.
Each ship has its own class.
Each class would generate its unique behaviors anddata.
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 4 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
History Early Development
Smalltalk
First use the term ”object oriented programming(OOP)”
First language to introduce the inheritance concept
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 5 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
History From then to now
after 1980…
Object Oritented Programming has become prominent.
The most importancefactor is C++.
Also play a importance role in the development ofevent–driven programming(ex. GUI)
However, nowadays, when it comes to OOP, we meanOOP concepts combined with procedures that areuseful to programmers.
Explode out concepts of design patterns, dataabstraction…
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 6 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
History From then to now
So, what’s OOP?
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 7 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Basic Concepts
Outline
1 History
2 Basic Concepts
3 Code Pieces
4 Conclusion
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 8 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Basic Concepts Object
Everything is an object…
Real–World: dogs, cats, computers…They all have states and behaviors.
Software Object: Mimic to Real–World objectsThey also have states and behaviors.
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 9 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Basic Concepts Properties of OOP
Three Basic Properties of OOP
EncapsulationClasses -> Interfaces -> design patterns…
Inheritance
PolymorphismMysterious one! Go details next page.
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 10 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Basic Concepts Properties of OOP
Polymorphism
The ability to appear in many forms.
The ability to process objects differently depending ontheir data type or class.
More specifically, it is the ability to redefine methods forderived classes.
Polymorphism is considered to be a requirement of anytrue OOP.
多種不同的子物件繼承同一種上層物件時,我們可以用上層
物件容納之,在呼叫時仍然會根據真實物件型態呼叫對應的
子物件函數。
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 11 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Basic Concepts Properties of OOP
Polymorphism – examples
Operator, such as + acts differently on integers,Strings, bits…Two basic ideas
Method Overriding: subclass, identical methodsignature.Dynamic binding: during run–time, actual methodexecuted is determined by type of objects, not type ofreference.
Allows superclass and subclass objects to be accessed ina regular, consistent way.(ex. draw different graphicalobjects in an array using the same draw function.)
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 12 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces
Outline
1 History
2 Basic Concepts
3 Code Pieces
4 Conclusion
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 13 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces Java
Encapsulation
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 14 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces Java
Inheritance
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 15 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces Java
Polymorphism
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 16 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces Java
Result
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 17 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces Matlab
Matlab supports OOP, too.
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 18 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces Matlab
Matlab – main.m
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 19 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces Matlab
Matlab – result
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 20 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces What’s OOP languages
However…
By the term ”OOP–support language”, we mean thatit’s easier and straightforward to develop programsunder OOP concepts on that language.
It’s possible to develop an OOP–based program on anyprogramming language.
Actually, someone says that it’s really how OOP ispracticed in early time…
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 21 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces C
Use C to demo three basic features of OOP
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 22 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces C
Use C to demo three basic features of OOP –result
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 23 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces C
Encapsulation
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 24 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces C
Encapsulation – constructor
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 25 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces C
Inheritance
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 26 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces C
Inheritance – constructor
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 27 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Code Pieces C
Polymorphism – Use generic pointers but hard toremenber all pointer types that each functionneeds…
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 28 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Conclusion
Outline
1 History
2 Basic Concepts
3 Code Pieces
4 Conclusion
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 29 / 30
Introduction toObject Oriented
Programming
Kiwi Wang
History
Early Development
From then to now
Basic Concepts
Object
Properties of OOP
Code Pieces
Java
Matlab
What’s OOP languages
C
Conclusion
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Conclusion
Usefulness and Debates
GUI, Android SDK, LLVM, gcc…Important benefits come with OOP:
maintainments, readability, productivity, and the reuseof codes.
However, there is no free lunch:There are debates about OOP, such as type safety,coding structures…
As a solid power to advance developments of software,it’s still worth to know about OOP.
Kiwi Wang (DISP) Introduction to Object Oriented Programming March 21, 2014 30 / 30