ݺߣ

ݺߣShare a Scribd company logo
Object-Oriented
Programming
1
Big concept
?Object-Oriented
Programming (OOP)
?Objects and Classes
?OOP Concept
?Exception Handling
?S.O.L.I.D.
?Design Pattern
2
1.
Object-Oriented
Programming
3
? Process
? Function
Process Oriented
process Adata A
process D
process B process C
data B data C
4
? Cohesion
? Coupling
Object Oriented
Data: Program, Command, ...
Objects: Controller, TV, ...
5
PO v.s OO
Traditional Development Object-Oriented Development
Method Procedure-Oriented Object-Oriented
Decomposition Algorithm Class
Life Cycle Top-Down Iterative & Incrementally
Maintainability Difficult Easy
Reusability Low High
Failure and Risk High Low
6
? Consist of a group of cooperating objects.
? Objects exchange message, for the purpose of
achieving a common objective.
What is OOP?
7
Message
2.
Objects and Classes
8

Whats a class?
? A class is a prototype, idea, and blueprint
for creating objects.
9
? A object is an instance of a class.
Whats an object?
10
Example
11
3.
OOP Concept
Abstraction
Encapsulation
Inheritance
Polymorphism
Override
12
? Imagenation
? Simple
Abstraction
13
? Public
? Protected
? Private
Encapsulation
Public
Protected
Private
14
? getXXX()
? setXXX(data_type variable)
Get Set Function
Public
Protected
Private
15
Get & Set
Source code
16
? Reuse
? is-A
? Override
Inheritance
17

Polymorphism
18
Polymorphism
Source code
19
? Insteading of which doesnt fit
derived class method or property.
Override
Animal
20
4.
Exception Handling
21
My code is beautiful
and never fails!
22
? An Error
? An Event
What is Exception?
23

Try Catch Finally
24
5.
S.O.L.I.D.
SRT
OCP
LSP
ISP
DIP
25
? A class should have a signal responsibility.
SRP
(Single Responsibility Principle)
26
SRP
Source code
27
? Objects should be open for extension,
but closed for modification.
OCP
(Open Closed Principle)
28
OCP
Source code
29

LSP
? Objects in a program should be
replaceable with instances of their
subtypes without altering the
correctness of the program.
(Liskov Substitution Principle)
30
LSP
Source code
31
? A client should never be forced to
implement an interface that it doesnt
use or clients shouldnt be forced to
depend on methods they do not use.
ISP
(Interface Segregation Principle)
32
ISP
Source code
33
? Entities must depend on abstractions
not on concretions.
DIP
(Dependency Inversion Principle)
34
DIP
Source code
35
6.
Design Pattern
Creational
Structural
Behavioral
36
How to create and manage and operate an
object effectively, this is always were talking
about. As below, those patterns give us some
principles and way of design.
Creational
? Simple Factory Pattern
? Abstract Factory Pattern
? Factory Pattern
? Builder Pattern
? Prototype Pattern
? Singleton Pattern 37
How to design the static structure between
objects. How to finish the dependence of
inheritance and implement. That concerns the
program architecture is robust or not.
Structural
? Adapter Pattern
? Bridge Pattern
? Composite Pattern
? Decorator Pattern
? Facade Pattern
? Proxy Pattern 38

Behavioral
? Command Pattern
? Iterator Pattern
? Strategy Pattern
? Template Pattern
? Observer Pattern
The cooperation action between objects
become the final behavior. If objects co-operate
well not only effective but also let objects
responsibility become clearly and flexibility.
? Mediator Pattern
? State Pattern
? Visitor Pattern
? Interpreter Pattern
39
Thanks!
Q & A
Jieyi Wu
40

More Related Content

Similar to Object-oriented programming (20)

Object Oriented, Design patterns and data modelling worshop
Object Oriented, Design patterns and data modelling worshopObject Oriented, Design patterns and data modelling worshop
Object Oriented, Design patterns and data modelling worshop
Mohammad Shawahneh
?
01-introductionto Object ooriented Programming in JAVA CS.ppt
01-introductionto Object ooriented Programming in JAVA CS.ppt01-introductionto Object ooriented Programming in JAVA CS.ppt
01-introductionto Object ooriented Programming in JAVA CS.ppt
GESISLAMIAPATTOKI
?
80410172053.pdf
80410172053.pdf80410172053.pdf
80410172053.pdf
WrushabhShirsat3
?
Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)
MD Sulaiman
?
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
azida3
?
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
Gobinath Subramaniam
?
Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web Development
Suresh Patidar
?
Nodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design PatternNodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design Pattern
Talentica Software
?
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
azida3
?
Software Development Life Cycle steps.pdf
Software Development Life Cycle steps.pdfSoftware Development Life Cycle steps.pdf
Software Development Life Cycle steps.pdf
rajesshs31r
?
GOF Design pattern with java
GOF Design pattern with javaGOF Design pattern with java
GOF Design pattern with java
Rajiv Gupta
?
Unit 5
Unit 5Unit 5
Unit 5
anuragmbst
?
Java Day-2
Java Day-2Java Day-2
Java Day-2
People Strategists
?
Prototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, PrototypesPrototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, Prototypes
Marta Soncodi
?
12266422.ppt
12266422.ppt12266422.ppt
12266422.ppt
CSEC5
?
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
IndraKhatri
?
Relationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine LearningRelationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine Learning
Neo4j
?
Design patterns
Design patternsDesign patterns
Design patterns
F(x) Data Labs Pvt Ltd
?
Software Design principales
Software Design principalesSoftware Design principales
Software Design principales
ABDEL RAHMAN KARIM
?
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and design
Anand Grewal
?
Object Oriented, Design patterns and data modelling worshop
Object Oriented, Design patterns and data modelling worshopObject Oriented, Design patterns and data modelling worshop
Object Oriented, Design patterns and data modelling worshop
Mohammad Shawahneh
?
01-introductionto Object ooriented Programming in JAVA CS.ppt
01-introductionto Object ooriented Programming in JAVA CS.ppt01-introductionto Object ooriented Programming in JAVA CS.ppt
01-introductionto Object ooriented Programming in JAVA CS.ppt
GESISLAMIAPATTOKI
?
Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)
MD Sulaiman
?
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
azida3
?
Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web Development
Suresh Patidar
?
Nodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design PatternNodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design Pattern
Talentica Software
?
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
azida3
?
Software Development Life Cycle steps.pdf
Software Development Life Cycle steps.pdfSoftware Development Life Cycle steps.pdf
Software Development Life Cycle steps.pdf
rajesshs31r
?
GOF Design pattern with java
GOF Design pattern with javaGOF Design pattern with java
GOF Design pattern with java
Rajiv Gupta
?
Prototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, PrototypesPrototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, Prototypes
Marta Soncodi
?
12266422.ppt
12266422.ppt12266422.ppt
12266422.ppt
CSEC5
?
Relationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine LearningRelationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine Learning
Neo4j
?
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and design
Anand Grewal
?

More from Jieyi Wu (10)

Design pattern advanced ii with testing
Design pattern advanced ii with  testingDesign pattern advanced ii with  testing
Design pattern advanced ii with testing
Jieyi Wu
?
Design pattern advanced i
Design pattern advanced iDesign pattern advanced i
Design pattern advanced i
Jieyi Wu
?
Dependency injection
Dependency injectionDependency injection
Dependency injection
Jieyi Wu
?
Application architecture pattern
Application architecture patternApplication architecture pattern
Application architecture pattern
Jieyi Wu
?
Reactive X introduction part1
Reactive X introduction part1Reactive X introduction part1
Reactive X introduction part1
Jieyi Wu
?
Karitoke's supported technology
Karitoke's supported technologyKaritoke's supported technology
Karitoke's supported technology
Jieyi Wu
?
Design pattern - part 3
Design pattern - part 3Design pattern - part 3
Design pattern - part 3
Jieyi Wu
?
Design pattern part 2 - structural pattern
Design pattern part 2 - structural patternDesign pattern part 2 - structural pattern
Design pattern part 2 - structural pattern
Jieyi Wu
?
Design pattern - part 1
Design pattern - part 1Design pattern - part 1
Design pattern - part 1
Jieyi Wu
?
Nice to meet Kotlin
Nice to meet KotlinNice to meet Kotlin
Nice to meet Kotlin
Jieyi Wu
?
Design pattern advanced ii with testing
Design pattern advanced ii with  testingDesign pattern advanced ii with  testing
Design pattern advanced ii with testing
Jieyi Wu
?
Design pattern advanced i
Design pattern advanced iDesign pattern advanced i
Design pattern advanced i
Jieyi Wu
?
Dependency injection
Dependency injectionDependency injection
Dependency injection
Jieyi Wu
?
Application architecture pattern
Application architecture patternApplication architecture pattern
Application architecture pattern
Jieyi Wu
?
Reactive X introduction part1
Reactive X introduction part1Reactive X introduction part1
Reactive X introduction part1
Jieyi Wu
?
Karitoke's supported technology
Karitoke's supported technologyKaritoke's supported technology
Karitoke's supported technology
Jieyi Wu
?
Design pattern - part 3
Design pattern - part 3Design pattern - part 3
Design pattern - part 3
Jieyi Wu
?
Design pattern part 2 - structural pattern
Design pattern part 2 - structural patternDesign pattern part 2 - structural pattern
Design pattern part 2 - structural pattern
Jieyi Wu
?
Design pattern - part 1
Design pattern - part 1Design pattern - part 1
Design pattern - part 1
Jieyi Wu
?
Nice to meet Kotlin
Nice to meet KotlinNice to meet Kotlin
Nice to meet Kotlin
Jieyi Wu
?

Recently uploaded (20)

Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog GavraReplacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
ScyllaDB
?
TrustArc Webinar - Building your DPIA/PIA Program: Best Practices & Tips
TrustArc Webinar - Building your DPIA/PIA Program: Best Practices & TipsTrustArc Webinar - Building your DPIA/PIA Program: Best Practices & Tips
TrustArc Webinar - Building your DPIA/PIA Program: Best Practices & Tips
TrustArc
?
Wondershare Filmora Crack 14.3.2.11147 Latest
Wondershare Filmora Crack 14.3.2.11147 LatestWondershare Filmora Crack 14.3.2.11147 Latest
Wondershare Filmora Crack 14.3.2.11147 Latest
udkg888
?
UiPath Automation Developer Associate Training Series 2025 - Session 2
UiPath Automation Developer Associate Training Series 2025 - Session 2UiPath Automation Developer Associate Training Series 2025 - Session 2
UiPath Automation Developer Associate Training Series 2025 - Session 2
DianaGray10
?
Technology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptxTechnology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptx
kaylagaze
?
Q4 2024 Earnings and Investor Presentation
Q4 2024 Earnings and Investor PresentationQ4 2024 Earnings and Investor Presentation
Q4 2024 Earnings and Investor Presentation
Dropbox
?
Gojek Clone Multi-Service Super App.pptx
Gojek Clone Multi-Service Super App.pptxGojek Clone Multi-Service Super App.pptx
Gojek Clone Multi-Service Super App.pptx
V3cube
?
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
ScyllaDB
?
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIATHE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
Srivaanchi Nathan
?
Early Adopter's Guide to AI Moderation (Preview)
Early Adopter's Guide to AI Moderation (Preview)Early Adopter's Guide to AI Moderation (Preview)
Early Adopter's Guide to AI Moderation (Preview)
nick896721
?
1.1. Evolution-and-Scope-of-Business-Analytics.pptx
1.1. Evolution-and-Scope-of-Business-Analytics.pptx1.1. Evolution-and-Scope-of-Business-Analytics.pptx
1.1. Evolution-and-Scope-of-Business-Analytics.pptx
Jitendra Tomar
?
Unlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & KeylockUnlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & Keylock
HusseinMalikMammadli
?
Wondershare Dr.Fone Crack Free Download 2025
Wondershare Dr.Fone Crack Free Download 2025Wondershare Dr.Fone Crack Free Download 2025
Wondershare Dr.Fone Crack Free Download 2025
maharajput103
?
Brave Browser Crack 1.45.133 Activated 2025
Brave Browser Crack 1.45.133 Activated 2025Brave Browser Crack 1.45.133 Activated 2025
Brave Browser Crack 1.45.133 Activated 2025
kherorpacca00126
?
UiPath Automation Developer Associate Training Series 2025 - Session 1
UiPath Automation Developer Associate Training Series 2025 - Session 1UiPath Automation Developer Associate Training Series 2025 - Session 1
UiPath Automation Developer Associate Training Series 2025 - Session 1
DianaGray10
?
L01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardnessL01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardness
RostislavDaniel
?
Understanding Traditional AI with Custom Vision & MuleSoft.pptx
Understanding Traditional AI with Custom Vision & MuleSoft.pptxUnderstanding Traditional AI with Custom Vision & MuleSoft.pptx
Understanding Traditional AI with Custom Vision & MuleSoft.pptx
shyamraj55
?
BoxLang JVM Language : The Future is Dynamic
BoxLang JVM Language : The Future is DynamicBoxLang JVM Language : The Future is Dynamic
BoxLang JVM Language : The Future is Dynamic
Ortus Solutions, Corp
?
DealBook of Ukraine: 2025 edition | AVentures Capital
DealBook of Ukraine: 2025 edition | AVentures CapitalDealBook of Ukraine: 2025 edition | AVentures Capital
DealBook of Ukraine: 2025 edition | AVentures Capital
Yevgen Sysoyev
?
Cloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in AviationCloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in Aviation
Assem mousa
?
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog GavraReplacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
ScyllaDB
?
TrustArc Webinar - Building your DPIA/PIA Program: Best Practices & Tips
TrustArc Webinar - Building your DPIA/PIA Program: Best Practices & TipsTrustArc Webinar - Building your DPIA/PIA Program: Best Practices & Tips
TrustArc Webinar - Building your DPIA/PIA Program: Best Practices & Tips
TrustArc
?
Wondershare Filmora Crack 14.3.2.11147 Latest
Wondershare Filmora Crack 14.3.2.11147 LatestWondershare Filmora Crack 14.3.2.11147 Latest
Wondershare Filmora Crack 14.3.2.11147 Latest
udkg888
?
UiPath Automation Developer Associate Training Series 2025 - Session 2
UiPath Automation Developer Associate Training Series 2025 - Session 2UiPath Automation Developer Associate Training Series 2025 - Session 2
UiPath Automation Developer Associate Training Series 2025 - Session 2
DianaGray10
?
Technology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptxTechnology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptx
kaylagaze
?
Q4 2024 Earnings and Investor Presentation
Q4 2024 Earnings and Investor PresentationQ4 2024 Earnings and Investor Presentation
Q4 2024 Earnings and Investor Presentation
Dropbox
?
Gojek Clone Multi-Service Super App.pptx
Gojek Clone Multi-Service Super App.pptxGojek Clone Multi-Service Super App.pptx
Gojek Clone Multi-Service Super App.pptx
V3cube
?
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
ScyllaDB
?
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIATHE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIA
Srivaanchi Nathan
?
Early Adopter's Guide to AI Moderation (Preview)
Early Adopter's Guide to AI Moderation (Preview)Early Adopter's Guide to AI Moderation (Preview)
Early Adopter's Guide to AI Moderation (Preview)
nick896721
?
1.1. Evolution-and-Scope-of-Business-Analytics.pptx
1.1. Evolution-and-Scope-of-Business-Analytics.pptx1.1. Evolution-and-Scope-of-Business-Analytics.pptx
1.1. Evolution-and-Scope-of-Business-Analytics.pptx
Jitendra Tomar
?
Unlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & KeylockUnlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & Keylock
HusseinMalikMammadli
?
Wondershare Dr.Fone Crack Free Download 2025
Wondershare Dr.Fone Crack Free Download 2025Wondershare Dr.Fone Crack Free Download 2025
Wondershare Dr.Fone Crack Free Download 2025
maharajput103
?
Brave Browser Crack 1.45.133 Activated 2025
Brave Browser Crack 1.45.133 Activated 2025Brave Browser Crack 1.45.133 Activated 2025
Brave Browser Crack 1.45.133 Activated 2025
kherorpacca00126
?
UiPath Automation Developer Associate Training Series 2025 - Session 1
UiPath Automation Developer Associate Training Series 2025 - Session 1UiPath Automation Developer Associate Training Series 2025 - Session 1
UiPath Automation Developer Associate Training Series 2025 - Session 1
DianaGray10
?
L01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardnessL01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardness
RostislavDaniel
?
Understanding Traditional AI with Custom Vision & MuleSoft.pptx
Understanding Traditional AI with Custom Vision & MuleSoft.pptxUnderstanding Traditional AI with Custom Vision & MuleSoft.pptx
Understanding Traditional AI with Custom Vision & MuleSoft.pptx
shyamraj55
?
BoxLang JVM Language : The Future is Dynamic
BoxLang JVM Language : The Future is DynamicBoxLang JVM Language : The Future is Dynamic
BoxLang JVM Language : The Future is Dynamic
Ortus Solutions, Corp
?
DealBook of Ukraine: 2025 edition | AVentures Capital
DealBook of Ukraine: 2025 edition | AVentures CapitalDealBook of Ukraine: 2025 edition | AVentures Capital
DealBook of Ukraine: 2025 edition | AVentures Capital
Yevgen Sysoyev
?
Cloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in AviationCloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in Aviation
Assem mousa
?

Object-oriented programming

Editor's Notes

  • #5: First, process oriented considers about the function(procedure and action). What do we need to do for finishing the function? Whats the flow about the process? According to those flows, we create the programming architecture and functions and modules. ϑԓxķdzˣˮ߅rͨϵYϱ횸޸ģDFDĹ Ļ˼SJ飬YYϣ]̎̎ԒY߀ֻǴڵoBYӍǪڵġ һOӋҪҪYϽY磺P“ʽYώ֮wPSģ(ER-Model)ͬһNDαʾ + Ҏ(Normalization) aYģ̎͡ݔ/ݔwķʽ˼̎eYϡ
  • #6: We consider object and data for starting creating the programming architecture. OO is an abstraction concept(Chsh gainen). CohesionȾGyshðԒĽጣшijõijʽcY϶ijһģMfunction, class, package, etc֮УʹԓģMɱҕһΪĂwУN@ģM cohesion ߡȾۣȾۣ˼xǰѳʽY@Щеě]Ė|һ𡻴 Coupling åץ󥰣ijģMˣһģMPS磬ʹ global variables ǽģMąN@ɂģMͱ˴ϡ ՄՓ˼SǰȁՄՄyģMģMЩ̎أģM(⥸`) }ʹõ̎ 춾So pe`lle`ҲDebugҲle` הU(Kakuch) ģM߀ǟoQYϵ(Isonsei)Ǻ^õģMأ@Ҳ֮ԕlչԭ֮һͨһõģMԓ߂ƒɂl ģM - ߃Ⱦ(Cohesion) ģMg - ϶(Coupling) ġbc󻯡ԿʹócY֮gPSܴ (e) Ĺ֮ȡ֮gĽ羀˷dz춮aż϶ȵģMҳҲ춮a߃ȾģMɷNԡ
  • #8: fޤ eY͑Bڌijʽжx ׃Qex׃Q֮ (Object)beе\Q֮鷽(Method)ÿһ\㷽ĺQQ֮ӍϢ(Message)ӍϢnjʽÁָ]e\Ĝͨš
  • #10: ClassÁxobjectһN|classăݰ˄operationscYϣdata eһ{DһһɅļ] w (Instance) ĸoBġ
  • #11: νጣ һĵĵČw춄ӑBģBSr׃ܘcО鲻׃
  • #12: B eOӋ{D Hwõķ PSOӋ{D(e)QӑԓNwQ̨ݡggߵOӋHwõķ()OӋ{DwķӣֻOӋ{DOӋʹ@gӡ w书 e(Bud kryaku) ޾Ŷɵָ(ޥ`) PS(e)ӛdSN(Kgeki)cؑķʽ׌ָ()֪ʲNrҪʲNʽؑ ʽOӋÿе҂ new \ӕrͬ춌aҲͬ춳ɹõſ_ʼڡӡĕrѽx ϣeֻÁQγɕrĘӣγɕr׃һӛwеĿgӛdӕrYcBKҮeڕr͸^(Method)һЩ
  • #14: Ignoring irrelevant features, properties, or functions. Ex. Mari drive a lamborghini Woman drive a car
  • #15: One of the rules is class data should be gotten or modified through method or attributed.
  • #18: You dont have to write the same code. Concept of is-a. You can rewrite the super class method. In jave, just can inherit only one class.
  • #19: еӁጣһ༉УώWӡ ՓW׻njWңώͬӶfӰߡ W׸WҰӵķͬWҲŞ(\Ӥޤ)Wҿܱ^У(Ïޤ)ߵġ ܛwЕ@ӵrһDܛwУ_Dnƽ^һ¡DnĸʽǧٷNÿһNʽ_ʽһӣ@rʽԓNأS˕µķ if(filepathĸn(kakuchshi)jpg) ʹ_jpgĺʽ; if(filepathĸnpng) ʹ_pngĺʽ; ................. ֧Ԯĸʽ࣬lДʽݱؕӣ@ӵr£ʽ׃ySo^õķԓ@Nʽ openfile(filepath); _nĹܪһܣ׌ʽa麆ʽeķԓΌأ@rͿʹö͵ķ
  • #21: The overried method must have the same datatype and same number of paramters.
  • #24: An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the programs instructions.
  • #25: Advantage as below. Separating Error-Handling Code and from Regular code. Error up call Stack. Grouping and Differentiating Error Types.
  • #26: Conclusion: S.O.L.I.D might seem to be a handful at first, but with continuous usage and adherence to its guidelines, it becomes a part of you and your code which can easily be extended, modified, tested, and refactored without any problems.
  • #27: Ԓһclassֻһ¡ } 1)ж༚yһ_ʼ֪ 2)̫}s^ߡ
  • #29: ԒܛwҪהU书ܣҔUrԭеcode޸ġ ҪԣOCPOODTĺġ  Create a room. You can extends to aparment.
  • #31: ԒOӋerֻееĖ|M  Ů㡺ѰΣʲNB ܵfܺΰǕwĄ(w٤) (ѡwӵB@) _Bٿ_ʼf @(`)ǕwĄ @f()ҲǕwĄ ostrich(祦) ߀.........@... Z(ڥ󥮥) ......@ @||| Big bird(ӥåЩ`)
  • #33: ԒOӋҲMΣeѲPĖ|M  IՆT̫̫㿴҂µbbҕ⡢ܷBϴ™CҲbأ׌һCּһְk... ̫̫·ϴһ룬DҕСѰֹͣNk԰ϴ™CIJõ᣿ IՆT... 䌍@ᵽLiskovQԭtcҌĽʾֻ˃ɂһҸûDzҪá @r`@ISPָԭt˕r@eҲ춟o춻Ae`LiskovQԭtˡ ԌÎׂ棬ҲҪܶʽȫŵһ殔׌팍e`ãȾ@档
  • #34: ]ʲN}ɣǣҵĹeЙCأ Nk׌CֱӌI˽棬ǙC˾͕Ȍ@ʾ@rFвͨġ׌҂ʽa޸£
  • #35: ԒҪwָPSҪ^֮ P^IoC(Inversion of Control, ƷD)DI(Dependency Injection, هע)t䌍ķ  °쵽ҕrӵŵԒ@XǽYoա ǧfeԒfȻҎˊ۵õ廨ؼŶ(w) ܿlF......Ļ궼PT... ֻҪfȻH۵ģҎ˶Yؼҡ() @һܿ·߅uʲNIʲN
  • #36: e҂ITϲgXXкܶMӲ@ʾCPUȵ ӲfӲďSAS̡BS̡CS̡ȵȡ ǣABCS̵ӲֻҪһ҂b҂XϣSATAII ҂԰SATAII@殔ǡ󡹣S̵ӲǼҲnj ԸӏS̶هSATAIISATAIIģӲ @ӵ҂ϲſʹáҏS̶ԼXķʽԼӲǂ҂͕飬඼ݰ~