YOMEDIA
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
Chia sẻ: _ _
| Ngày:
| Loại File: PDF
| Số trang:44
18
lượt xem
5
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng Lập trình hướng đối tượng: Chương 1 cung cấp cho người đọc những kiến thức như: Một số Mô thức lập trình; Khái niệm Lớp và Đối tượng; Ba nguyên tắc lập trình hướng đối tượng; Một số phần mềm được viết theo hướng đối tượng. Mời các bạn cùng tham khảo!
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 1 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
- CHƯƠNG 1:
Click to edit Master subtitle style
GIỚI THIỆU
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Khoa Công nghệ thông tin
Trường Đại học Ngoại ngữ - Tin học, TP.HCM
1
- NỘI DUNG
Một số Mô thức lập trình
Khái niệm Lớp và Đối tượng
Ba nguyên tắc lập trình hướng đối tượng
Một số phần mềm được viết theo hướng đối
tượng
2
- Tại sao OOP?
Object oriented programming (OOP) là mô thức
quan trọng
Tất cả ngôn ngữ hiện đại điều object oriented hay hỗ
trợ object và class
Các framework, library, API hiện đại điều object
oriented
• .NET Framework Class Library (C#), Java API classes (Java),
• Laravel (PHP), Rails (Ruby),
• STL (C++), Django (Python), Android, …
Bất kỳ ai bắt đầu công việc phát triển phần mềm
nên làm quen với OOP và OO modeling
3
- MỘT SỐ MÔ THỨC LẬP TRÌNH
4
- Mô thức lập trình
Programming paradigm: Mô thức/Mô hình lập trình
Cách chúng ta “nhìn” về việc xây dựng các chương trình máy
tính
Một số programming paradigm:
Imperative
Structured
Procedural
Object oriented
Functional
Declarative
…
5
- Imperative programming
Mô thức “Lập trình Tuần tự” với ý tưởng chủ
đạo là lệnh (commands)
Input data
Process
Output data
Chương trình là chuỗi các lệnh (cụ thể/rõ ràng
(explicit)) có thứ tự (step by step) dùng để thay
đổi trạng thái chương trình
6
- Ví dụ
DATA SEGMENT
A DB 1,2,3,4,5,6,7,8,9,10
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV CL,10
LEA BX,A
MOV AH,00
MOV AL,00
L1:
ADD AL,BYTE PTR[BX]
INC BX
DEC CL
CMP CL,00
JNZ L1
MOV AH,4CH
INT 21
END START
CODE ENDS
7
- Imperative programming
Đặc điểm:
Các biến toàn cục
Mỗi bước ảnh hưởng đến trạng thái toàn cục của
chương trình
Có lệnh goto để nhảy đến lệnh khác
Có những đoạn mã được viết nhiều lần
Ngôn ngữ: Assembly, Pascal, C, …
8
- Structured programming
Mô thức “Lập trình Cấu trúc” là dạng
Imperative programming, nhưng Chương trình
có tổ chức, cấu trúc logic hơn:
result = [];
for i = 0; i < length(people); i++
{
p = people[i];
if length(p.name)) > 5
{
addToList(result, toUpper(p.name));
}
}
return sort(result);
9
- Structured programming
Đặc điểm:
Lệnh tuần tự (Sequence), Lệnh lặp (Loop), Lệnh điều
kiện (Condition)
Phong cách lập trình Thục đầu dòng (indentation)
Loại bỏ/hạn chế lệnh goto
Ngôn ngữ: Pascal, C, …
Khuyết điểm:
Khó phân công cho nhiều người cùng viết
Dữ liệu được “thả tự do”
Có những đoạn mã viết nhiều lần
10
- Procedural programming
Mô thức “Lập trình Thủ tục” kế thừa structured
programming và đưa thêm ý tưởng chương
trình con (procedure/function) chứa các đoạn
mã thường sử dụng
Chương trình máy tính có thể chia thành các
chương trình con (procedure) và các chương
trình con gọi nhau để giải quyết bài toán
11
- Ví dụ
public static int Factorial(int n)
{
int result = 1;
for (int i = 2; i
- Procedural programming
Đặc điểm
Tập trung vào “action” của chương trình, không phải data
Phương pháp top-down, làm mịn dần:
Chia chương trình lớn thành các chương trình con, …
Biến toàn cục (global variable) và Biến cục bộ (local
variable)
Ngôn ngữ: Pascal, C, …
Khuyết điểm:
Mối quan hệ giữa dữ liệu và hàm không được quan tâm,
quản lý
13
- Object oriented programming
Mô thức “Lập trình Hướng đối tượng” cải biên
procedure programming bằng cách đưa vào ý
tưởng object (đối tượng)
Chương trình máy tính gồm các objects, các
objects giao tiếp với nhau để giải quyết bài
toán đặt ra
Đối tượng = Dữ liệu + Hàm thao tác trên Dữ liệu
14
- Ví dụ
class Student
{
string code;
string name;
int yearOfBirth;
public Student(string studentCode, string studentName, int year)
{
code = studentCode;
name = studentName;
yearOfBirth = year;
}
public int GetYearOld()
{
return DateTime.Now.Year - yearOfBirth;
}
}
15
- Ví dụ
class InformaticsClass
{
Student[] students;
string className; class Program
{
public void Input() static void Main(string[] args)
{ {
} InformaticsClass a = new InformaticsClass();
public int NumStudents() a.Input();
{ Console.WriteLine("No. " + a.NumStudents());
if (students == null) }
return 0; }
return students.Length;
}
}
16
- Object oriented programming
Đặc điểm:
Tập trung xung quanh khái niệm object (tập trung vào
dữ liệu và những gì làm với dữ liệu đó)
• Tập trung cả Dữ liệu và Hàm
• Tổ chức code theo cách (mô phỏng) hoạt động của thế giới thực
• Mô hình hóa các đối tượng trong thế giới thực vào máy tính
Hỗ trợ Các nguyên tắc:
• Đóng gói (encapsulation)
• Thừa kế (inheritance)
• Đa hình (polymorphism), …
17
- Object oriented programming
Ưu điểm:
Quản lý mối quan hệ giữa Dữ liệu và Hàm
(trong object)
Tổ chức code hiệu quả theo cách thức tổ chức
trong tự nhiên
Giúp mô hình hóa các đối tượng trong thế giới thực
trên máy tính
Ngôn ngữ: C++, Java, C#, …
18
- KHÁI NIỆM LỚP VÀ ĐỐI TƯỢNG
19
- Đối tượng (object)
Trong thế giới thực có nhiều đối tượng:
20
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.100:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.100:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...