SlideShare a Scribd company logo
Bài 1
Tổng quan
Lập trình hướng
đối tượng
Trịnh Thành Trung
trungtt@soict.hust.edu.vn
Nội dung
1. Kỹ thuật lập trình
2. Kỹ thuật hướng đối
tượng
3. Các khái niệm cơ bản
4. Các nguyên lý
5. Phân tích thiết kế
hướng đối tượng
Kỹ thuật lập trình
Lập trình hướng đối tượng là một kỹ thuật
lập trình. Vậy kỹ thuật lập trình là gì?
1
4
Kỹ thuật lập trình
• "Lập trình hướng đối tượng" là một kỹ thuật lập
trình. Vậy "kỹ thuật lập trình" là gì?
• Kỹ thuật lập trình: Kỹ thuật thực thi một giải pháp
phần mềm (cấu trúc dữ liệu + giải thuật) dựa trên
nền tảng một phương pháp luận (methodology)
và một hoặc nhiều ngôn ngữ lập trình phù hợp
với yêu cầu đặc thù của ứng dụng.
5
Kỹ thuật lập trình
• Các mô thức lập trình
• Các ý tưởng, thuật toán để
giải quyết vấn đề
• Phong cách trình bày trong
lập trình
• Văn hóa lập trình
"Phương pháp luận"
6
Kỹ thuật lập trình
• Mô thức - nguyên tắc chung
cơ bản
• Cú pháp - xác định cái gì là
hợp lệ trong mã nguồn
• Ngữ nghĩa - ngữ pháp của
ngôn ngữ lập trình
"Ngôn ngữ lập trình"
7
Ngôn ngữ lập trình
• Ngôn ngữ?
• Phương tiện để giao tiếp
• Hệ thống ký hiệu để diễn đạt
8
Ngôn ngữ lập trình
• Ngôn ngữ máy
• Các chỉ thị được thể hiện bằng các chữ số nhị phân 1 và
0.
1101010101101010
1010100010101010
9
Ngôn ngữ lập trình
• Ngôn ngữ lập trình
• Là ngôn ngữ được chuẩn hóa
• Cả con người và máy tính có thể đọc và hiểu được
• Sử dụng chương trình dịch tương ứng để giao tiếp với
máy tính
10
Trình dịch
Trình dịch -
Compiler
Là chương trình
thực hiện biên
dịch toàn bộ
chương trình
nguồn thành mã
máy trước khi
thực hiện
11
Sự phát triển của
ngôn ngữ lập trình
Ngôn ngữ máy
Lập trình
tuần tự
Hướng
thủ tục
Hướng
đối tượng
11
12
Sự phát triển của
ngôn ngữ lập trình
• Lập trình tuần tự
• Mã nguồn được viết dưới dạng "đầu tiên làm thế này, sau
đó làm thế kia"
• Khó sửa lỗi, bảo trì.
13
Sự phát triển của
ngôn ngữ lập trình
• Lập trình hướng thủ tục (Lập trình cấu trúc)
• Xây dựng chương trình dựa trên các hàm/thủ tục/chương
trình con
• Dữ liệu và xử lý (hàm) tách rời nhau
• Các hàm không bắt buộc phải tuân theo một cách thức
chung truy cập vào dữ liệu
14
Trừu tượng hóa
• Sự phát triển của các ngôn ngữ lập trình chính là
sự phát triển của quá trình trừu tượng hóa
(abstraction)
• Assembly : Trừu tượng hóa kiểu dữ liệu/chỉ thị cơ bản
• Ngôn ngữ cấu trúc: Trừu tượng hóa điều khiển (control
abstraction) + trừu tượng hóa chức năng (functional
abstraction)
Kỹ thuật hướng đối tượng
Giới thiệu về công nghệ đối tượng và kỹ
thuật hướng đối tượng
2
16
Đối tượng
• Đối tượng là gì?
"Tất cả mọi thứ đều là đối tượng"
-Alan Kay
17
Lập trình hướng đối tượng
• Coi chương trình phần mềm là một tập hợp các
đối tượng tương tác với nhau
Object-oriented modeling
House
Tom Car
Flower
House
Tom
Car
Flower
lives in
drives
Model
Reality
gets
18
Lập trình hướng đối tượng
• Mỗi đối tượng trong chương trình có các dữ liệu
độc lập của mình và chiếm bộ nhớ riêng của
mình.
• Mỗi đối tượng đều có dạng đặc trưng của lớp các
đối tượng đó.
• Tất cả các đối tượng thuộc về cùng một lớp đều
có các hành vi giống nhau
19
Trừu tượng hóa
• Sự phát triển của các ngôn ngữ lập trình chính là
sự phát triển của quá trình trừu tượng hóa
(abstraction)
• Lập trình hướng đối tượng
• Trừu tượng hóa dữ liệu (data abstraction)
• Coi các dữ liệu trong chương trình là các đối tượng
Các khái niệm
Các khái niệm cơ bản trong lập trình hướng
đối tượng
3
21
Đối tượng
• Trong thế giới thực
• VD: Sinh viên, ô tô, màu sắc…
• Mỗi đối tượng đều có:
• Các thông tin, trạng thái
• Ví dụ: Các thông tin về ô tô có màu sắc, tốc độ, năm sx…
• Các hoạt động
• Ví dụ: Tăng ga, phanh, giảm tốc, đi đến một địa điểm…
22
Đối tượng
Trạng thái Hành vi
Con chó Tên
Màu sắc
Giống chó
Cảm xúc
Sủa
Vẫy đuôi
Ăn
Chạy
Ô tô Hãng sản xuất
Kích thước
Màu sắc
Giá tiền
Tăng tốc
Giảm tốc
Đâm
Tài khoản Tên tài khoản
Số tài khoản
Ngân hàng
Số dư
Rút tiền
Gửi tiền
Kiểm tra số dư
23
Đối tượng
• Đối tượng là duy nhất. Không có hai đối tượng
giống nhau dù cùng chia sẻ các tính chất, trạng
thái
• Ví dụ
• Sinh viên A và Màu tím
• Sinh viên A và Con khủng long
• Sinh viên A và Bill Gates
• Sinh viên A và Sinh viên B
24
Đối tượng
• Mô hình hóa vào trong lập trình:
Đóng gói thành trạng thái
(state) và hành vi (behavior).
• Trạng thái được biểu diễn bởi các
thuộc tính (attributes) và các mối
quan hệ (relationships).
• Hành vi được biểu diễn bởi các thao
tác (operations) hay phương thức
(methods).
25
Trạng thái và hành vi
• Trạng thái của một đối tượng
là một trong các điều kiện tại
đó mà đối tượng tồn tại.
• Trạng thái của một đối tượng
có thể thay đổi theo thời gian.
Trạng thái
26
Trạng thái và hành vi
• Hành vi quyết định đối tượng đó hành
động và đáp trả như thế nào đối với
bên ngoài.
• Hành vi nhìn thấy được của một đối
tượng được mô hình thành một tập các
thông điệp nó có thể đáp trả (các thao
tác mà đối tượng đó thực hiện).
Hành vi
27
Đối tượng phần mềm
• Đối tượng (object) là một thực thể phần mềm
bao bọc các thuộc tính và các phương thức liên
quan.
• Thuộc tính được xác định bởi giá trị cụ thể gọi là thuộc
tính thể hiện.
• Một đối tượng cụ thể được gọi là một thể hiện.
Đối tượng phần mềm Đối tượng phần mềm Xe Đạp
28
Bài toán thực tiễn
Quản lý tài khoản ngân hàng
Thuộc tính
Account name: Duc Binh
Balance: 2.000.000 VND
Deposit Debit
Balance inquiry
Yêu cầu dịch vụ
Balance inquiry
Không gian phần
mềm
Thuộc
tính
name: Duc Binh
Balance: 2.000.000 VND
Deposit() Withdraw()
checkBalance()
Hành động
Hành động
Account object
User object
Gửi thông điệp
checkBalance()
29
Lớp
• Một lớp là một thiết kế (blueprint) hay mẫu
(prototype) cho các đối tượng cùng kiểu
• Ví dụ: lớp XeDap là một thiết kế chung cho nhiều đối tượng
xe đạp được tạo ra
• Lớp định nghĩa các thuộc tính và các phương thức
chung cho tất cả các đối tượng của cùng một loại nào
đó
• Một đối tượng là một thể hiện cụ thể của một lớp.
• Ví dụ: mỗi đối tượng xe đạp là một thể hiện của lớp XeDap
• Mỗi thể hiện có thể có những thuộc tính thể hiện khác
nhau
• Ví dụ: một xe đạp có thể đang ở bánh răng thứ 5 trong khi
một xe khác có thể là đang ở bánh răng thứ 3.
30
Ví dụ
Lớp Xe đạp
Khai báo cho lớp
XeDap
Đối tượng của lớp
XeDap
31
Lớp và Đối tượng
Attribute
name: Duc Binh
Balance: 2.000.000 VND
Deposit() Withdraw()
checkBalance()
operation
Account object of Mr Duc Binh
Attribute
name: Thu Lan
Balance: 1.000.000 VND
Deposit() Withdraw()
checkBalance()
operation
Account object of Mrs Thu Lan
Account Class (model of objects)
Attribute
Definition of member variable
String name;
long balance;
void deposit(int money);
void withdraw()
int checkBalance()
Method definition
operation
INSTANTIATE
32
Lớp và đối tượng
Lớp Xe ô tô
33
Tương tác giữa các đối tượng
• Các đối tượng trong thế giới thực có thể tương
tác được với nhau
• Trong lập trình
• Các đối tượng giao tiếp với nhau bằng cách gửi thông
điệp (message)
Tương tự với gọi hàm?
34
Gọi hàm vs. Gửi thông điệp
• Gọi hàm (call function)
• Chỉ ra chính xác đoạn mã nào sẽ được thực hiện.
• Chỉ có duy nhất một sự thực thi của một hàm với một tên
nào đó.
• Không có hai hàm trùng tên
• Gửi thông điệp (send message)
• Yêu cầu một dịch vụ từ một đối tượng và đối tượng sẽ
quyết định cần phải làm gì
• Các đối tượng khác nhau sẽ có các cách thực thi các
thông điệp theo cách khác nhau.
35
Thông điệp vs. Phương thức
• Thông điệp
• Được gửi từ đối tượng này đến đối tượng kia, không bao
gồm đoạn mã thực sự sẽ được thực thi
• Phương thức
• Thủ tục/hàm trong ngôn ngữ lập trình cấu trúc
• Là sự thực thi dịch vụ được yêu cầu bởi thông điệp
• Là đoạn mã sẽ được thực thi để đáp ứng thông điệp
được gửi đến cho đối tượng
Các nguyên lý cơ bản
Trừu tượng hóa, đóng gói, module hóa, phân
cấp.
4
37
Các nguyên lý cơ bản
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Trừu tượng
hóa
Đóng gói
Module
hóa
Phân cấp
38
Trừu tượng hóa
• Trừu tượng hóa
• Là quá trình loại bỏ đi các thông tin cụ thể và giữ lại
những thông tin chung.
• Tập trung vào các đặc điểm cơ bản của thực thể, các đặc
điểm phân biệt nó với các loại thực thể khác.
• Phụ thuộc vào góc nhìn
• Quan trọng trong ngữ cảnh này nhưng lại không có ý nghĩa
nhiều trong ngữ cảnh khác.
39
Ví dụ
• Bài toán Quản lý sinh viên
40
Trừu tượng hóa
• Phụ thuộc vào góc nhìn:
41
Đóng gói
• Đóng gói
• Che giấu, ẩn đi chi tiết thực hiện bên trong
• Cung cấp cho thế giới bên ngoài một giao diện
• Người dùng không phụ thuộc vào việc sửa đổi sự thực
thi bên trong
42
Đóng gói
• Cho phép điều khiển
• Việc sử dụng đối tượng
được kiểm soát thông
qua các method public
• Hỗ trợ sự thay đổi
• Việc sử dụng đối tượng
không bị ảnh hưởng
nếu dữ liệu nội tại
(private) bị thay đổi
Withdraw( )
Deposit( )
dollars 12
cents 56
Withdraw( )
Deposit( )
balance
12.56
43
Module hóa
• Module hóa
• Chia nhỏ hệ thống phức tạp thành những thành phần
nhỏ có thể quản lý được.
• Cho phép người dùng hiểu được về hệ thống.
45
Module hóa
• Chia nhỏ một hệ thống phức
tạp thành các mô đun nhỏ
hơn.
Hệ thống quản
lý xuất nhập
sách
Hệ thống quản lý siêu
thị sách
Hệ thống
kế toán
Hệ thống
quản lý
nhân viên
46
Phân cấp
• Phân cấp
• Xếp hạng hay xếp thứ tự các mức trừu tượng vào một
cấu trúc cây
• Tổ chức để phân loại. Sử dụng phân cấp rất dễ dàng
nhận ra sử giống và khác nhau giữa các đối tượng
47
Phân cấp
Động vật
Người
Học sinh Sinh viên
Công
nhân
Chó Mèo Gà Thỏ
Tăng mức độ trừu tượng hóa
Giảm mức độ trừu tượng hóa
Phân tích thiết kế hướng
đối tượng
Object Oriented Analysis and Design (OOAD)
5
49
Phân tích thiết kế
hướng đối tượng
• Phương pháp luận (methodology) trong PT&TK
phần mềm thông thường được định nghĩa như là
một tập các quá trình và thao tác để tìm và khám
phá cách có thể giải quyết được bài toán phần
mềm.
• Một trong các phương pháp hiệu quả nhất để
phát triển phần mềm.
50
Phát triển phần mềm
• Sáu giai đoạn
• Giai đoạn 0: Lập kế hoạch (make a plan)
• Giai đoạn 1: Xác định mục tiêu - làm gì (what are we
making)
• Giai đoạn 2: Xác định cách làm thế nào (how to build it)
• Giai đoạn 3: Xây dựng phần lõi - Building the core
• Giai đoạn 4: Lặp lại (hiệu chỉnh) các trường hợp sử dụng
• Giai đoạn 5: Phát triển (evolution)
51
Xác định mục tiêu
• Giai đoạn 1: Xác định mục tiêu - làm gì (what are we
making)
• Trong giai đoạn này chúng ta có nhiệm vụ xác định cụ
thể các mục tiêu, chức năng và nhiệm vụ mà phần
mềm chúng ta cần xây dựng phải đáp ứng.
• Trong phương pháp lập trình cổ điển hướng thủ tục
người ta gọi giai đoạn này là giai đoạn tạo ra “phân
tích yêu cầu và mô tả hệ thống” (requirements analysis
and system specification).
• Trong PT&TK hướng đối tượng người ta sử dụng các
ký pháp và kỹ thuật Use case để mô tả các công việc
này.
52
Biểu đồ use case
53
Biểu đồ lớp
Thank you!
Any questions?

More Related Content

What's hot

BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNGBÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Trường Phạm
 
Oop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaOop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừa
Tráng Hà Viết
 
Oop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớpOop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớp
Tráng Hà Viết
 
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Đông Lương
 
Bai01 oop overview
Bai01 oop overviewBai01 oop overview
Bai01 oop overview
Nhuận Lê Văn
 
Bai11 ooad bieu_dolop
Bai11 ooad bieu_dolopBai11 ooad bieu_dolop
Bai11 ooad bieu_dolop
Nhuận Lê Văn
 
Bai06 mot sokythuattrongkethua
Bai06 mot sokythuattrongkethuaBai06 mot sokythuattrongkethua
Bai06 mot sokythuattrongkethua
Nhuận Lê Văn
 
Bai02 java introduction
Bai02 java introductionBai02 java introduction
Bai02 java introduction
Nhuận Lê Văn
 
Oop unit 06 kế thừa
Oop unit 06 kế thừaOop unit 06 kế thừa
Oop unit 06 kế thừa
Tráng Hà Viết
 
Bai03 xay dunglop
Bai03 xay dunglopBai03 xay dunglop
Bai03 xay dunglop
Nhuận Lê Văn
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
Hong Phuoc Nguyen
 
Oop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoOop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng cao
Tráng Hà Viết
 
Oop unit 08 đa hình
Oop unit 08 đa hìnhOop unit 08 đa hình
Oop unit 08 đa hình
Tráng Hà Viết
 
[Cntt] bài giảng java khtn hcm
[Cntt] bài giảng java   khtn hcm[Cntt] bài giảng java   khtn hcm
[Cntt] bài giảng java khtn hcm
Hong Phuoc Nguyen
 
Bai05 ket tapvakethua
Bai05 ket tapvakethuaBai05 ket tapvakethua
Bai05 ket tapvakethua
Nhuận Lê Văn
 
[Cntt] all java
[Cntt] all java[Cntt] all java
[Cntt] all java
Hong Phuoc Nguyen
 
Bai04 tao vasudungdoituong
Bai04 tao vasudungdoituongBai04 tao vasudungdoituong
Bai04 tao vasudungdoituong
Nhuận Lê Văn
 
Bai07 da hinh
Bai07 da hinhBai07 da hinh
Bai07 da hinh
Nhuận Lê Văn
 
Bai08 lap trinhtongquat
Bai08 lap trinhtongquatBai08 lap trinhtongquat
Bai08 lap trinhtongquat
Nhuận Lê Văn
 

What's hot (20)

BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNGBÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
 
Oop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaOop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừa
 
Oop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớpOop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớp
 
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
 
Bai01 oop overview
Bai01 oop overviewBai01 oop overview
Bai01 oop overview
 
Bai11 ooad bieu_dolop
Bai11 ooad bieu_dolopBai11 ooad bieu_dolop
Bai11 ooad bieu_dolop
 
Bai06 mot sokythuattrongkethua
Bai06 mot sokythuattrongkethuaBai06 mot sokythuattrongkethua
Bai06 mot sokythuattrongkethua
 
Bai02 java introduction
Bai02 java introductionBai02 java introduction
Bai02 java introduction
 
Oop unit 06 kế thừa
Oop unit 06 kế thừaOop unit 06 kế thừa
Oop unit 06 kế thừa
 
Bai03 xay dunglop
Bai03 xay dunglopBai03 xay dunglop
Bai03 xay dunglop
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
 
Oop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoOop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng cao
 
Oop unit 08 đa hình
Oop unit 08 đa hìnhOop unit 08 đa hình
Oop unit 08 đa hình
 
[Cntt] bài giảng java khtn hcm
[Cntt] bài giảng java   khtn hcm[Cntt] bài giảng java   khtn hcm
[Cntt] bài giảng java khtn hcm
 
Bai05 ket tapvakethua
Bai05 ket tapvakethuaBai05 ket tapvakethua
Bai05 ket tapvakethua
 
[Cntt] all java
[Cntt] all java[Cntt] all java
[Cntt] all java
 
Bai04 tao vasudungdoituong
Bai04 tao vasudungdoituongBai04 tao vasudungdoituong
Bai04 tao vasudungdoituong
 
Bai07 da hinh
Bai07 da hinhBai07 da hinh
Bai07 da hinh
 
Bai08 lap trinhtongquat
Bai08 lap trinhtongquatBai08 lap trinhtongquat
Bai08 lap trinhtongquat
 
Java Tieng Viet
Java Tieng VietJava Tieng Viet
Java Tieng Viet
 

Viewers also liked

Vanessa
VanessaVanessa
DJ VISHAL PROFILE 2015-2016
DJ  VISHAL PROFILE 2015-2016DJ  VISHAL PROFILE 2015-2016
DJ VISHAL PROFILE 2015-2016vishal waval
 
curriculum vitae
curriculum vitaecurriculum vitae
curriculum vitaeSunil Singh
 
Using video to increase site traffic, admissions numbers, and yield rate
Using video to increase site traffic, admissions numbers, and yield rateUsing video to increase site traffic, admissions numbers, and yield rate
Using video to increase site traffic, admissions numbers, and yield rate
Chris Lavigne
 
Historia de aguazul
Historia de aguazulHistoria de aguazul
Historia de aguazul
karenbarrerav
 
Uniforme moderno
Uniforme modernoUniforme moderno
Uniforme moderno
Estefy Ordoñez
 
11639 fi tks_ru_fin
11639 fi tks_ru_fin11639 fi tks_ru_fin
11639 fi tks_ru_fin
x-mss
 
Continuacion 111
Continuacion 111Continuacion 111
Continuacion 111
maria gutierrez mamani
 
Eventual Seller-In-Home Presentation Powerpoint
Eventual Seller-In-Home Presentation PowerpointEventual Seller-In-Home Presentation Powerpoint
Eventual Seller-In-Home Presentation PowerpointMichael DiGiovanni
 
Ban da biet nen mua bep tu o dau chua
Ban da biet nen mua bep tu o dau chuaBan da biet nen mua bep tu o dau chua
Ban da biet nen mua bep tu o dau chua
Nuong Tran
 
Reciclagem
ReciclagemReciclagem
Reciclagem
Alex Santiago Nina
 
Dress intelligently to get raised
Dress intelligently to get raisedDress intelligently to get raised
Dress intelligently to get raised
FashionBro
 
Sustainable Solution in Hang Tag Production
Sustainable Solution in Hang Tag ProductionSustainable Solution in Hang Tag Production
Sustainable Solution in Hang Tag Production
Asif Iqbal
 

Viewers also liked (16)

Vanessa
VanessaVanessa
Vanessa
 
DJ VISHAL PROFILE 2015-2016
DJ  VISHAL PROFILE 2015-2016DJ  VISHAL PROFILE 2015-2016
DJ VISHAL PROFILE 2015-2016
 
curriculum vitae
curriculum vitaecurriculum vitae
curriculum vitae
 
Company Profile - NEW
Company Profile - NEWCompany Profile - NEW
Company Profile - NEW
 
blogger
bloggerblogger
blogger
 
Using video to increase site traffic, admissions numbers, and yield rate
Using video to increase site traffic, admissions numbers, and yield rateUsing video to increase site traffic, admissions numbers, and yield rate
Using video to increase site traffic, admissions numbers, and yield rate
 
Historia de aguazul
Historia de aguazulHistoria de aguazul
Historia de aguazul
 
urbanvelo40
urbanvelo40urbanvelo40
urbanvelo40
 
Uniforme moderno
Uniforme modernoUniforme moderno
Uniforme moderno
 
11639 fi tks_ru_fin
11639 fi tks_ru_fin11639 fi tks_ru_fin
11639 fi tks_ru_fin
 
Continuacion 111
Continuacion 111Continuacion 111
Continuacion 111
 
Eventual Seller-In-Home Presentation Powerpoint
Eventual Seller-In-Home Presentation PowerpointEventual Seller-In-Home Presentation Powerpoint
Eventual Seller-In-Home Presentation Powerpoint
 
Ban da biet nen mua bep tu o dau chua
Ban da biet nen mua bep tu o dau chuaBan da biet nen mua bep tu o dau chua
Ban da biet nen mua bep tu o dau chua
 
Reciclagem
ReciclagemReciclagem
Reciclagem
 
Dress intelligently to get raised
Dress intelligently to get raisedDress intelligently to get raised
Dress intelligently to get raised
 
Sustainable Solution in Hang Tag Production
Sustainable Solution in Hang Tag ProductionSustainable Solution in Hang Tag Production
Sustainable Solution in Hang Tag Production
 

Similar to Oop unit 01 tổng quan lập trình hướng đối tượng

Print_to_OOP.pdf
Print_to_OOP.pdfPrint_to_OOP.pdf
Print_to_OOP.pdf
cLong52
 
Bai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptxBai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptx
HLan34
 
UIUX06-07 Phan tich nhiem vu hehehehehe.pdf
UIUX06-07 Phan tich nhiem vu hehehehehe.pdfUIUX06-07 Phan tich nhiem vu hehehehehe.pdf
UIUX06-07 Phan tich nhiem vu hehehehehe.pdf
lieudienfcthon3
 
1.OOP Introduction (1).pptx
1.OOP Introduction (1).pptx1.OOP Introduction (1).pptx
1.OOP Introduction (1).pptx
Hải Nguyễn Đăng
 
Design Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kếDesign Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kế
Nhật Nguyễn Khắc
 
SOLID - Những nguyên lí sống còn
SOLID - Những nguyên lí sống cònSOLID - Những nguyên lí sống còn
SOLID - Những nguyên lí sống còn
Nhật Nguyễn Khắc
 
lopvadoituong.pdf
lopvadoituong.pdflopvadoituong.pdf
lopvadoituong.pdf
NguyenDiem50
 
Các phương pháp phân tích thiết kế phần.pptx
Các phương pháp phân tích thiết kế phần.pptxCác phương pháp phân tích thiết kế phần.pptx
Các phương pháp phân tích thiết kế phần.pptx
dong92356
 
OOP_Bai13(vi).pdf
OOP_Bai13(vi).pdfOOP_Bai13(vi).pdf
OOP_Bai13(vi).pdf
HienTran311128
 
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06xcode_esvn
 
mo-hinh-phat-trien.pdf
mo-hinh-phat-trien.pdfmo-hinh-phat-trien.pdf
mo-hinh-phat-trien.pdf
ZACNguyenHoang
 
Code Refactoring: Thay đổi nhỏ - Lợi ích lớn
Code Refactoring: Thay đổi nhỏ - Lợi ích lớnCode Refactoring: Thay đổi nhỏ - Lợi ích lớn
Code Refactoring: Thay đổi nhỏ - Lợi ích lớn
Nhật Nguyễn Khắc
 
Ngon ngu lap_trinh_c++
Ngon ngu lap_trinh_c++Ngon ngu lap_trinh_c++
Ngon ngu lap_trinh_c++
Da To
 
3_TuanAnh Xay dung va phat trien chuong trinh dao tao theo de xuong CDIO.pptx
3_TuanAnh Xay dung va phat trien chuong trinh dao tao theo de xuong CDIO.pptx3_TuanAnh Xay dung va phat trien chuong trinh dao tao theo de xuong CDIO.pptx
3_TuanAnh Xay dung va phat trien chuong trinh dao tao theo de xuong CDIO.pptx
HeRo488812
 
Lập trình hướng đối tượng với java
Lập trình hướng đối tượng với javaLập trình hướng đối tượng với java
Lập trình hướng đối tượng với java
Ngô Đăng Tân
 
OOP
OOPOOP
OOP_01_Tong Quan LTHDT.pdf
OOP_01_Tong Quan LTHDT.pdfOOP_01_Tong Quan LTHDT.pdf
OOP_01_Tong Quan LTHDT.pdf
ssuserd01a5c
 
Lap trinhhuongdoituong v3.1
Lap trinhhuongdoituong v3.1Lap trinhhuongdoituong v3.1
Lap trinhhuongdoituong v3.1volll
 

Similar to Oop unit 01 tổng quan lập trình hướng đối tượng (20)

Print_to_OOP.pdf
Print_to_OOP.pdfPrint_to_OOP.pdf
Print_to_OOP.pdf
 
Bai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptxBai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptx
 
Chuong2 c
Chuong2 c Chuong2 c
Chuong2 c
 
UIUX06-07 Phan tich nhiem vu hehehehehe.pdf
UIUX06-07 Phan tich nhiem vu hehehehehe.pdfUIUX06-07 Phan tich nhiem vu hehehehehe.pdf
UIUX06-07 Phan tich nhiem vu hehehehehe.pdf
 
1.OOP Introduction (1).pptx
1.OOP Introduction (1).pptx1.OOP Introduction (1).pptx
1.OOP Introduction (1).pptx
 
Design Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kếDesign Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kế
 
SOLID - Những nguyên lí sống còn
SOLID - Những nguyên lí sống cònSOLID - Những nguyên lí sống còn
SOLID - Những nguyên lí sống còn
 
lopvadoituong.pdf
lopvadoituong.pdflopvadoituong.pdf
lopvadoituong.pdf
 
Các phương pháp phân tích thiết kế phần.pptx
Các phương pháp phân tích thiết kế phần.pptxCác phương pháp phân tích thiết kế phần.pptx
Các phương pháp phân tích thiết kế phần.pptx
 
OOP_Bai13(vi).pdf
OOP_Bai13(vi).pdfOOP_Bai13(vi).pdf
OOP_Bai13(vi).pdf
 
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
 
mo-hinh-phat-trien.pdf
mo-hinh-phat-trien.pdfmo-hinh-phat-trien.pdf
mo-hinh-phat-trien.pdf
 
Code Refactoring: Thay đổi nhỏ - Lợi ích lớn
Code Refactoring: Thay đổi nhỏ - Lợi ích lớnCode Refactoring: Thay đổi nhỏ - Lợi ích lớn
Code Refactoring: Thay đổi nhỏ - Lợi ích lớn
 
Ngon ngu lap_trinh_c++
Ngon ngu lap_trinh_c++Ngon ngu lap_trinh_c++
Ngon ngu lap_trinh_c++
 
Chapter1
Chapter1Chapter1
Chapter1
 
3_TuanAnh Xay dung va phat trien chuong trinh dao tao theo de xuong CDIO.pptx
3_TuanAnh Xay dung va phat trien chuong trinh dao tao theo de xuong CDIO.pptx3_TuanAnh Xay dung va phat trien chuong trinh dao tao theo de xuong CDIO.pptx
3_TuanAnh Xay dung va phat trien chuong trinh dao tao theo de xuong CDIO.pptx
 
Lập trình hướng đối tượng với java
Lập trình hướng đối tượng với javaLập trình hướng đối tượng với java
Lập trình hướng đối tượng với java
 
OOP
OOPOOP
OOP
 
OOP_01_Tong Quan LTHDT.pdf
OOP_01_Tong Quan LTHDT.pdfOOP_01_Tong Quan LTHDT.pdf
OOP_01_Tong Quan LTHDT.pdf
 
Lap trinhhuongdoituong v3.1
Lap trinhhuongdoituong v3.1Lap trinhhuongdoituong v3.1
Lap trinhhuongdoituong v3.1
 

More from Tráng Hà Viết

Tài liệu môn trí tuệ nhân tạo đh bách khoa tp hồ chí minh tài liệu, ebook
Tài liệu môn trí tuệ nhân tạo đh bách khoa tp hồ chí minh   tài liệu, ebookTài liệu môn trí tuệ nhân tạo đh bách khoa tp hồ chí minh   tài liệu, ebook
Tài liệu môn trí tuệ nhân tạo đh bách khoa tp hồ chí minh tài liệu, ebook
Tráng Hà Viết
 
Artificial intelligence ai l1-gioi thieu
Artificial intelligence ai l1-gioi thieuArtificial intelligence ai l1-gioi thieu
Artificial intelligence ai l1-gioi thieu
Tráng Hà Viết
 
Artificial intelligence ai l2-tac tu
Artificial intelligence ai l2-tac tuArtificial intelligence ai l2-tac tu
Artificial intelligence ai l2-tac tu
Tráng Hà Viết
 
Artificial intelligence ai gioi thieu-mon_hoc_it4040
Artificial intelligence ai gioi thieu-mon_hoc_it4040Artificial intelligence ai gioi thieu-mon_hoc_it4040
Artificial intelligence ai gioi thieu-mon_hoc_it4040
Tráng Hà Viết
 
Artificial intelligence ai l5-thoa man-rang_buoc
Artificial intelligence ai l5-thoa man-rang_buocArtificial intelligence ai l5-thoa man-rang_buoc
Artificial intelligence ai l5-thoa man-rang_buoc
Tráng Hà Viết
 
Artificial intelligence ai l6-logic va-suy_dien
Artificial intelligence ai l6-logic va-suy_dienArtificial intelligence ai l6-logic va-suy_dien
Artificial intelligence ai l6-logic va-suy_dien
Tráng Hà Viết
 
Artificial intelligence ai l4-tim kiem-heuristic
Artificial intelligence ai l4-tim kiem-heuristicArtificial intelligence ai l4-tim kiem-heuristic
Artificial intelligence ai l4-tim kiem-heuristic
Tráng Hà Viết
 
Artificial intelligence ai l7-bieu dien-tri_thuc
Artificial intelligence ai l7-bieu dien-tri_thucArtificial intelligence ai l7-bieu dien-tri_thuc
Artificial intelligence ai l7-bieu dien-tri_thuc
Tráng Hà Viết
 
Artificial intelligence ai l9-hoc may
Artificial intelligence ai l9-hoc mayArtificial intelligence ai l9-hoc may
Artificial intelligence ai l9-hoc may
Tráng Hà Viết
 
Artificial intelligence ai l3-tim kiem-co_ban
Artificial intelligence ai l3-tim kiem-co_banArtificial intelligence ai l3-tim kiem-co_ban
Artificial intelligence ai l3-tim kiem-co_ban
Tráng Hà Viết
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiện
Tráng Hà Viết
 
Oop unit 11 input và output
Oop unit 11 input và outputOop unit 11 input và output
Oop unit 11 input và output
Tráng Hà Viết
 
Oop unit 10 ngoại lệ
Oop unit 10 ngoại lệOop unit 10 ngoại lệ
Oop unit 10 ngoại lệ
Tráng Hà Viết
 
Oop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quátOop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quát
Tráng Hà Viết
 
Oop unit 02 java cơ bản
Oop unit 02 java cơ bảnOop unit 02 java cơ bản
Oop unit 02 java cơ bản
Tráng Hà Viết
 
Công cụ mã nguồn mở BlueFish
Công cụ mã nguồn mở BlueFishCông cụ mã nguồn mở BlueFish
Công cụ mã nguồn mở BlueFish
Tráng Hà Viết
 

More from Tráng Hà Viết (16)

Tài liệu môn trí tuệ nhân tạo đh bách khoa tp hồ chí minh tài liệu, ebook
Tài liệu môn trí tuệ nhân tạo đh bách khoa tp hồ chí minh   tài liệu, ebookTài liệu môn trí tuệ nhân tạo đh bách khoa tp hồ chí minh   tài liệu, ebook
Tài liệu môn trí tuệ nhân tạo đh bách khoa tp hồ chí minh tài liệu, ebook
 
Artificial intelligence ai l1-gioi thieu
Artificial intelligence ai l1-gioi thieuArtificial intelligence ai l1-gioi thieu
Artificial intelligence ai l1-gioi thieu
 
Artificial intelligence ai l2-tac tu
Artificial intelligence ai l2-tac tuArtificial intelligence ai l2-tac tu
Artificial intelligence ai l2-tac tu
 
Artificial intelligence ai gioi thieu-mon_hoc_it4040
Artificial intelligence ai gioi thieu-mon_hoc_it4040Artificial intelligence ai gioi thieu-mon_hoc_it4040
Artificial intelligence ai gioi thieu-mon_hoc_it4040
 
Artificial intelligence ai l5-thoa man-rang_buoc
Artificial intelligence ai l5-thoa man-rang_buocArtificial intelligence ai l5-thoa man-rang_buoc
Artificial intelligence ai l5-thoa man-rang_buoc
 
Artificial intelligence ai l6-logic va-suy_dien
Artificial intelligence ai l6-logic va-suy_dienArtificial intelligence ai l6-logic va-suy_dien
Artificial intelligence ai l6-logic va-suy_dien
 
Artificial intelligence ai l4-tim kiem-heuristic
Artificial intelligence ai l4-tim kiem-heuristicArtificial intelligence ai l4-tim kiem-heuristic
Artificial intelligence ai l4-tim kiem-heuristic
 
Artificial intelligence ai l7-bieu dien-tri_thuc
Artificial intelligence ai l7-bieu dien-tri_thucArtificial intelligence ai l7-bieu dien-tri_thuc
Artificial intelligence ai l7-bieu dien-tri_thuc
 
Artificial intelligence ai l9-hoc may
Artificial intelligence ai l9-hoc mayArtificial intelligence ai l9-hoc may
Artificial intelligence ai l9-hoc may
 
Artificial intelligence ai l3-tim kiem-co_ban
Artificial intelligence ai l3-tim kiem-co_banArtificial intelligence ai l3-tim kiem-co_ban
Artificial intelligence ai l3-tim kiem-co_ban
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiện
 
Oop unit 11 input và output
Oop unit 11 input và outputOop unit 11 input và output
Oop unit 11 input và output
 
Oop unit 10 ngoại lệ
Oop unit 10 ngoại lệOop unit 10 ngoại lệ
Oop unit 10 ngoại lệ
 
Oop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quátOop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quát
 
Oop unit 02 java cơ bản
Oop unit 02 java cơ bảnOop unit 02 java cơ bản
Oop unit 02 java cơ bản
 
Công cụ mã nguồn mở BlueFish
Công cụ mã nguồn mở BlueFishCông cụ mã nguồn mở BlueFish
Công cụ mã nguồn mở BlueFish
 

Recently uploaded

Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...
Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...
Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...
Nguyen Thanh Tu Collection
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
ngocnguyensp1
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
phamthuhoai20102005
 
DS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdf
DS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdfDS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdf
DS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdf
thanhluan21
 
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdfGIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
LngHu10
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
Điện Lạnh Bách Khoa Hà Nội
 
CÁC BIỆN PHÁP KỸ THUẬT AN TOÀN KHI XÃY RA HỎA HOẠN TRONG.pptx
CÁC BIỆN PHÁP KỸ THUẬT AN TOÀN KHI XÃY RA HỎA HOẠN TRONG.pptxCÁC BIỆN PHÁP KỸ THUẬT AN TOÀN KHI XÃY RA HỎA HOẠN TRONG.pptx
CÁC BIỆN PHÁP KỸ THUẬT AN TOÀN KHI XÃY RA HỎA HOẠN TRONG.pptx
CNGTRC3
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
chinhkt50
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
https://www.facebook.com/garmentspace
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
Nguyen Thanh Tu Collection
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
Nguyen Thanh Tu Collection
 

Recently uploaded (11)

Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...
Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...
Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
 
DS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdf
DS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdfDS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdf
DS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdf
 
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdfGIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
 
CÁC BIỆN PHÁP KỸ THUẬT AN TOÀN KHI XÃY RA HỎA HOẠN TRONG.pptx
CÁC BIỆN PHÁP KỸ THUẬT AN TOÀN KHI XÃY RA HỎA HOẠN TRONG.pptxCÁC BIỆN PHÁP KỸ THUẬT AN TOÀN KHI XÃY RA HỎA HOẠN TRONG.pptx
CÁC BIỆN PHÁP KỸ THUẬT AN TOÀN KHI XÃY RA HỎA HOẠN TRONG.pptx
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
 

Oop unit 01 tổng quan lập trình hướng đối tượng

  • 1. Bài 1 Tổng quan Lập trình hướng đối tượng Trịnh Thành Trung trungtt@soict.hust.edu.vn
  • 2. Nội dung 1. Kỹ thuật lập trình 2. Kỹ thuật hướng đối tượng 3. Các khái niệm cơ bản 4. Các nguyên lý 5. Phân tích thiết kế hướng đối tượng
  • 3. Kỹ thuật lập trình Lập trình hướng đối tượng là một kỹ thuật lập trình. Vậy kỹ thuật lập trình là gì? 1
  • 4. 4 Kỹ thuật lập trình • "Lập trình hướng đối tượng" là một kỹ thuật lập trình. Vậy "kỹ thuật lập trình" là gì? • Kỹ thuật lập trình: Kỹ thuật thực thi một giải pháp phần mềm (cấu trúc dữ liệu + giải thuật) dựa trên nền tảng một phương pháp luận (methodology) và một hoặc nhiều ngôn ngữ lập trình phù hợp với yêu cầu đặc thù của ứng dụng.
  • 5. 5 Kỹ thuật lập trình • Các mô thức lập trình • Các ý tưởng, thuật toán để giải quyết vấn đề • Phong cách trình bày trong lập trình • Văn hóa lập trình "Phương pháp luận"
  • 6. 6 Kỹ thuật lập trình • Mô thức - nguyên tắc chung cơ bản • Cú pháp - xác định cái gì là hợp lệ trong mã nguồn • Ngữ nghĩa - ngữ pháp của ngôn ngữ lập trình "Ngôn ngữ lập trình"
  • 7. 7 Ngôn ngữ lập trình • Ngôn ngữ? • Phương tiện để giao tiếp • Hệ thống ký hiệu để diễn đạt
  • 8. 8 Ngôn ngữ lập trình • Ngôn ngữ máy • Các chỉ thị được thể hiện bằng các chữ số nhị phân 1 và 0. 1101010101101010 1010100010101010
  • 9. 9 Ngôn ngữ lập trình • Ngôn ngữ lập trình • Là ngôn ngữ được chuẩn hóa • Cả con người và máy tính có thể đọc và hiểu được • Sử dụng chương trình dịch tương ứng để giao tiếp với máy tính
  • 10. 10 Trình dịch Trình dịch - Compiler Là chương trình thực hiện biên dịch toàn bộ chương trình nguồn thành mã máy trước khi thực hiện
  • 11. 11 Sự phát triển của ngôn ngữ lập trình Ngôn ngữ máy Lập trình tuần tự Hướng thủ tục Hướng đối tượng 11
  • 12. 12 Sự phát triển của ngôn ngữ lập trình • Lập trình tuần tự • Mã nguồn được viết dưới dạng "đầu tiên làm thế này, sau đó làm thế kia" • Khó sửa lỗi, bảo trì.
  • 13. 13 Sự phát triển của ngôn ngữ lập trình • Lập trình hướng thủ tục (Lập trình cấu trúc) • Xây dựng chương trình dựa trên các hàm/thủ tục/chương trình con • Dữ liệu và xử lý (hàm) tách rời nhau • Các hàm không bắt buộc phải tuân theo một cách thức chung truy cập vào dữ liệu
  • 14. 14 Trừu tượng hóa • Sự phát triển của các ngôn ngữ lập trình chính là sự phát triển của quá trình trừu tượng hóa (abstraction) • Assembly : Trừu tượng hóa kiểu dữ liệu/chỉ thị cơ bản • Ngôn ngữ cấu trúc: Trừu tượng hóa điều khiển (control abstraction) + trừu tượng hóa chức năng (functional abstraction)
  • 15. Kỹ thuật hướng đối tượng Giới thiệu về công nghệ đối tượng và kỹ thuật hướng đối tượng 2
  • 16. 16 Đối tượng • Đối tượng là gì? "Tất cả mọi thứ đều là đối tượng" -Alan Kay
  • 17. 17 Lập trình hướng đối tượng • Coi chương trình phần mềm là một tập hợp các đối tượng tương tác với nhau Object-oriented modeling House Tom Car Flower House Tom Car Flower lives in drives Model Reality gets
  • 18. 18 Lập trình hướng đối tượng • Mỗi đối tượng trong chương trình có các dữ liệu độc lập của mình và chiếm bộ nhớ riêng của mình. • Mỗi đối tượng đều có dạng đặc trưng của lớp các đối tượng đó. • Tất cả các đối tượng thuộc về cùng một lớp đều có các hành vi giống nhau
  • 19. 19 Trừu tượng hóa • Sự phát triển của các ngôn ngữ lập trình chính là sự phát triển của quá trình trừu tượng hóa (abstraction) • Lập trình hướng đối tượng • Trừu tượng hóa dữ liệu (data abstraction) • Coi các dữ liệu trong chương trình là các đối tượng
  • 20. Các khái niệm Các khái niệm cơ bản trong lập trình hướng đối tượng 3
  • 21. 21 Đối tượng • Trong thế giới thực • VD: Sinh viên, ô tô, màu sắc… • Mỗi đối tượng đều có: • Các thông tin, trạng thái • Ví dụ: Các thông tin về ô tô có màu sắc, tốc độ, năm sx… • Các hoạt động • Ví dụ: Tăng ga, phanh, giảm tốc, đi đến một địa điểm…
  • 22. 22 Đối tượng Trạng thái Hành vi Con chó Tên Màu sắc Giống chó Cảm xúc Sủa Vẫy đuôi Ăn Chạy Ô tô Hãng sản xuất Kích thước Màu sắc Giá tiền Tăng tốc Giảm tốc Đâm Tài khoản Tên tài khoản Số tài khoản Ngân hàng Số dư Rút tiền Gửi tiền Kiểm tra số dư
  • 23. 23 Đối tượng • Đối tượng là duy nhất. Không có hai đối tượng giống nhau dù cùng chia sẻ các tính chất, trạng thái • Ví dụ • Sinh viên A và Màu tím • Sinh viên A và Con khủng long • Sinh viên A và Bill Gates • Sinh viên A và Sinh viên B
  • 24. 24 Đối tượng • Mô hình hóa vào trong lập trình: Đóng gói thành trạng thái (state) và hành vi (behavior). • Trạng thái được biểu diễn bởi các thuộc tính (attributes) và các mối quan hệ (relationships). • Hành vi được biểu diễn bởi các thao tác (operations) hay phương thức (methods).
  • 25. 25 Trạng thái và hành vi • Trạng thái của một đối tượng là một trong các điều kiện tại đó mà đối tượng tồn tại. • Trạng thái của một đối tượng có thể thay đổi theo thời gian. Trạng thái
  • 26. 26 Trạng thái và hành vi • Hành vi quyết định đối tượng đó hành động và đáp trả như thế nào đối với bên ngoài. • Hành vi nhìn thấy được của một đối tượng được mô hình thành một tập các thông điệp nó có thể đáp trả (các thao tác mà đối tượng đó thực hiện). Hành vi
  • 27. 27 Đối tượng phần mềm • Đối tượng (object) là một thực thể phần mềm bao bọc các thuộc tính và các phương thức liên quan. • Thuộc tính được xác định bởi giá trị cụ thể gọi là thuộc tính thể hiện. • Một đối tượng cụ thể được gọi là một thể hiện. Đối tượng phần mềm Đối tượng phần mềm Xe Đạp
  • 28. 28 Bài toán thực tiễn Quản lý tài khoản ngân hàng Thuộc tính Account name: Duc Binh Balance: 2.000.000 VND Deposit Debit Balance inquiry Yêu cầu dịch vụ Balance inquiry Không gian phần mềm Thuộc tính name: Duc Binh Balance: 2.000.000 VND Deposit() Withdraw() checkBalance() Hành động Hành động Account object User object Gửi thông điệp checkBalance()
  • 29. 29 Lớp • Một lớp là một thiết kế (blueprint) hay mẫu (prototype) cho các đối tượng cùng kiểu • Ví dụ: lớp XeDap là một thiết kế chung cho nhiều đối tượng xe đạp được tạo ra • Lớp định nghĩa các thuộc tính và các phương thức chung cho tất cả các đối tượng của cùng một loại nào đó • Một đối tượng là một thể hiện cụ thể của một lớp. • Ví dụ: mỗi đối tượng xe đạp là một thể hiện của lớp XeDap • Mỗi thể hiện có thể có những thuộc tính thể hiện khác nhau • Ví dụ: một xe đạp có thể đang ở bánh răng thứ 5 trong khi một xe khác có thể là đang ở bánh răng thứ 3.
  • 30. 30 Ví dụ Lớp Xe đạp Khai báo cho lớp XeDap Đối tượng của lớp XeDap
  • 31. 31 Lớp và Đối tượng Attribute name: Duc Binh Balance: 2.000.000 VND Deposit() Withdraw() checkBalance() operation Account object of Mr Duc Binh Attribute name: Thu Lan Balance: 1.000.000 VND Deposit() Withdraw() checkBalance() operation Account object of Mrs Thu Lan Account Class (model of objects) Attribute Definition of member variable String name; long balance; void deposit(int money); void withdraw() int checkBalance() Method definition operation INSTANTIATE
  • 32. 32 Lớp và đối tượng Lớp Xe ô tô
  • 33. 33 Tương tác giữa các đối tượng • Các đối tượng trong thế giới thực có thể tương tác được với nhau • Trong lập trình • Các đối tượng giao tiếp với nhau bằng cách gửi thông điệp (message) Tương tự với gọi hàm?
  • 34. 34 Gọi hàm vs. Gửi thông điệp • Gọi hàm (call function) • Chỉ ra chính xác đoạn mã nào sẽ được thực hiện. • Chỉ có duy nhất một sự thực thi của một hàm với một tên nào đó. • Không có hai hàm trùng tên • Gửi thông điệp (send message) • Yêu cầu một dịch vụ từ một đối tượng và đối tượng sẽ quyết định cần phải làm gì • Các đối tượng khác nhau sẽ có các cách thực thi các thông điệp theo cách khác nhau.
  • 35. 35 Thông điệp vs. Phương thức • Thông điệp • Được gửi từ đối tượng này đến đối tượng kia, không bao gồm đoạn mã thực sự sẽ được thực thi • Phương thức • Thủ tục/hàm trong ngôn ngữ lập trình cấu trúc • Là sự thực thi dịch vụ được yêu cầu bởi thông điệp • Là đoạn mã sẽ được thực thi để đáp ứng thông điệp được gửi đến cho đối tượng
  • 36. Các nguyên lý cơ bản Trừu tượng hóa, đóng gói, module hóa, phân cấp. 4
  • 37. 37 Các nguyên lý cơ bản LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Trừu tượng hóa Đóng gói Module hóa Phân cấp
  • 38. 38 Trừu tượng hóa • Trừu tượng hóa • Là quá trình loại bỏ đi các thông tin cụ thể và giữ lại những thông tin chung. • Tập trung vào các đặc điểm cơ bản của thực thể, các đặc điểm phân biệt nó với các loại thực thể khác. • Phụ thuộc vào góc nhìn • Quan trọng trong ngữ cảnh này nhưng lại không có ý nghĩa nhiều trong ngữ cảnh khác.
  • 39. 39 Ví dụ • Bài toán Quản lý sinh viên
  • 40. 40 Trừu tượng hóa • Phụ thuộc vào góc nhìn:
  • 41. 41 Đóng gói • Đóng gói • Che giấu, ẩn đi chi tiết thực hiện bên trong • Cung cấp cho thế giới bên ngoài một giao diện • Người dùng không phụ thuộc vào việc sửa đổi sự thực thi bên trong
  • 42. 42 Đóng gói • Cho phép điều khiển • Việc sử dụng đối tượng được kiểm soát thông qua các method public • Hỗ trợ sự thay đổi • Việc sử dụng đối tượng không bị ảnh hưởng nếu dữ liệu nội tại (private) bị thay đổi Withdraw( ) Deposit( ) dollars 12 cents 56 Withdraw( ) Deposit( ) balance 12.56
  • 43. 43 Module hóa • Module hóa • Chia nhỏ hệ thống phức tạp thành những thành phần nhỏ có thể quản lý được. • Cho phép người dùng hiểu được về hệ thống.
  • 44. 45 Module hóa • Chia nhỏ một hệ thống phức tạp thành các mô đun nhỏ hơn. Hệ thống quản lý xuất nhập sách Hệ thống quản lý siêu thị sách Hệ thống kế toán Hệ thống quản lý nhân viên
  • 45. 46 Phân cấp • Phân cấp • Xếp hạng hay xếp thứ tự các mức trừu tượng vào một cấu trúc cây • Tổ chức để phân loại. Sử dụng phân cấp rất dễ dàng nhận ra sử giống và khác nhau giữa các đối tượng
  • 46. 47 Phân cấp Động vật Người Học sinh Sinh viên Công nhân Chó Mèo Gà Thỏ Tăng mức độ trừu tượng hóa Giảm mức độ trừu tượng hóa
  • 47. Phân tích thiết kế hướng đối tượng Object Oriented Analysis and Design (OOAD) 5
  • 48. 49 Phân tích thiết kế hướng đối tượng • Phương pháp luận (methodology) trong PT&TK phần mềm thông thường được định nghĩa như là một tập các quá trình và thao tác để tìm và khám phá cách có thể giải quyết được bài toán phần mềm. • Một trong các phương pháp hiệu quả nhất để phát triển phần mềm.
  • 49. 50 Phát triển phần mềm • Sáu giai đoạn • Giai đoạn 0: Lập kế hoạch (make a plan) • Giai đoạn 1: Xác định mục tiêu - làm gì (what are we making) • Giai đoạn 2: Xác định cách làm thế nào (how to build it) • Giai đoạn 3: Xây dựng phần lõi - Building the core • Giai đoạn 4: Lặp lại (hiệu chỉnh) các trường hợp sử dụng • Giai đoạn 5: Phát triển (evolution)
  • 50. 51 Xác định mục tiêu • Giai đoạn 1: Xác định mục tiêu - làm gì (what are we making) • Trong giai đoạn này chúng ta có nhiệm vụ xác định cụ thể các mục tiêu, chức năng và nhiệm vụ mà phần mềm chúng ta cần xây dựng phải đáp ứng. • Trong phương pháp lập trình cổ điển hướng thủ tục người ta gọi giai đoạn này là giai đoạn tạo ra “phân tích yêu cầu và mô tả hệ thống” (requirements analysis and system specification). • Trong PT&TK hướng đối tượng người ta sử dụng các ký pháp và kỹ thuật Use case để mô tả các công việc này.