1. Trang chủ
  2. » Thể loại khác

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

44 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giới Thiệu Lập Trình Hướng Đối Tượng
Trường học Trường Đại học Ngoại ngữ - Tin học, TP.HCM
Chuyên ngành Information Technology
Thể loại Giáo trình
Thành phố Ho Chi Minh City
Định dạng
Số trang 44
Dung lượng 1,31 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một số Mô thức lập trình 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 NỘI DUNG... Programming paradigm: Mô thức/Mô hình lập trình Cách chúng

Trang 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

CHƯƠNG 1:

Trang 2

Một số Mô thức lập trình

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

NỘI DUNG

Trang 3

Object oriented programming (OOP) là mô thức

• 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 OOPOO modeling

Tại sao OOP?

Trang 4

MỘT SỐ MÔ THỨC LẬP TRÌNH

Trang 5

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

Mô thức lập trình

Trang 6

Mô thức “Lập trình Tuần tự ” với ý tưởng chủ

(explicit)) có thứ tự (step by step) dùng để thay

đổi trạng thái chương trình

Imperative programming

Input data

Process

Output data

Trang 7

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

Trang 8

Có những đoạn mã được viết nhiều lần

Ngôn ngữ: Assembly, Pascal, C, …

Imperative programming

Trang 9

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 :

addToList(result, toUpper(p.name));

} } return sort(result);

Trang 10

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

Structured programming

Trang 11

Mô thức “Lập trình Thủ tục ” kế thừa structured

trình con ( procedure/function ) chứa các đoạn

mã thường sử dụng

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

Procedural programming

Trang 12

Ví dụ

public static int Factorial(int n)

{ int result = 1;

for (int i = 2; i <= n; i++) result = result * i;

int n = 10;

int m = 5;

fact = Factorial(n) + Factorial(m); Console.WriteLine("n! + m! = " + fact);

Trang 13

Đặ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)

Trang 14

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 ý

objects giao tiếp với nhau để giải quyết bài

toán đặt ra

Object oriented programming

Đối tượng = Dữ liệu + Hàm thao tác trên Dữ liệu

Trang 16

Ví dụ

class Program

{ static void Main(string[] args) {

InformaticsClass a = new InformaticsClass();

a.Input();

Console.WriteLine("No " + a.NumStudents());

} }

Trang 17

Đặ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 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

Trang 19

KHÁI NIỆM LỚP VÀ ĐỐI TƯỢNG

Trang 20

Trong thế giới thực có nhiều đối tượng:

Đối tượng (object)

Trang 21

Hoạt động thường ngày:

Sáng ra khỏi gường, dùng bàn chảy đánh răng,

ăn sáng uống cafe,

đến công ty làm việc, đến nhà hàng ăn trưa, giải lao, rồi quay về công ty làm viêc, … tối vào bếp nấu ăn, xem ti vi/ đọc sách, lên gường ngủ

Life là quá trình tương tác giữa các đối tượng với

nhau

Ý tưởng: Tiến trình viết phần mềm là quá trình mô

hình hóa từ thực tế vào máy tính

Đối tượng (object)

Trang 22

Trong thế giới thực, đối tượng (object) thường có

Một số thuộc tính cấu tạo nên đối tượng Một số hành vi

Đối tượng (object)

Trang 23

OOP là phương pháp chuyển các vấn đề thế giới

thực (đối tượng thực) sang các mô hình (đối tượng trên máy tính) có thể giải quyết trên máy tính

Trong OOP, Đối tượng ( object): Bất kỳ thứ gì có thể

Trang 24

Real world object: Car

Properties: color, make, model, year, …

Trang 25

Lớp ( class): Nhiều đối tượng cụ thể “giống nhau”

được nhóm thành một loại/loài hay lớp (class)

(blueprint) để tạo đối tượng

Lớp (class)

Trang 26

Lớp (class) – ví dụ

Trang 27

Trong OOP, Lớp ( class) dùng để định nghĩa/tạo

ra kiểu mới , từ đó tạo ra đối tượng, lớp có

Dữ liệu (data/field/property/attribute/state), dùng biến lưu trữ

Các hàm (function/method/behaviour) thao tác trên dữ liệu

Lớp (class)

Trang 28

VD: Để tạo Car, Lấy Car class, dựa trên đó tạo Car

Trang 29

Car a = new Car();

Car b = new Car();

Car c = new Car();

} }

Trang 30

3 NGUYÊN TẮC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Trang 31

Đóng gói ( Encapsulation) và Giao diện (Interface)

Ẩn chi tiết của lớp (Đóng gói), chỉ cung cấp các phương thức cần thiết để dùng (Giao diện)

3 nguyên tắc lập trình hướng đối tượng

Trang 32

• Ẩn đi các chi tiết hiện thực của method

Bản điều khiển cho phép dùng đối tượng Trong OOP, Giao diện là tập các method cho phép dùng object

Encapsulation và Interface

Trang 33

Encapsulation và Interface

Trang 34

Thừa kế (inheritance)

Tạo lớp mới thừa kế lớp đã có Một cách tái sử dụng các lớp bằng cách mở rộng lớp đã có thành một lớp cụ thể

“Lớp đã có”: base class, superclass, parent class

“Lớp mới”: derived class, subclass, child class

Thừa kế (inheritance)

Trang 35

Thừa kế (inheritance)

Trang 36

Thừa kế (inheritance)

Trang 37

Thừa kế (inheritance)

Trang 38

Thừa kế: Lớp con thừa kế

Các dữ liệu của lớp cha Các hàm của lớp cha

Ngoài ra, lớp con còn

Có những dữ liệu riêng của lớp con

Có những hàm riêng của lớp con

Thừa kế (inheritance)

Trang 39

Đa hình ( polymorphism )

Poly = many Morphism = forms

Các lớp con cài đặt cùng một hàm của lớp cha, nhưng mỗi lớp con có cách cài đặt khác nhau

Đa hình (polymorphism)

Trang 40

Đa hình (polymorphism)

Trang 42

Sử dụng các lớp có sẵn: Lớp Random

Viết chương trình mô phỏng gieo súc sắc

Hãy tiến hành thí nghiệm gieo một súc sắc N lần (N=100), tính xác suất của các mặt súc sắc trong thí nghiệm này

Thay N=1.000, N=10.000, N=100.000, N=1.000.000

và quan sát kết quả (so sánh với giá trị xác suất tính trong lý thuyết)

BÀI TẬP

Trang 43

Sử dụng các lớp có sẵn: Lớp Random

Hãy tiến hành thí nghiệm gieo một súc sắc N lần (N=100), tính xác suất tổng hai mặt súc sắc bằng 8 trong thí nghiệm này Thay N=1.000, N=10.000, N=100.000, N=1.000.000 và quan sát kết quả (so sánh với giá trị xác suất tính trong lý thuyết)

BÀI TẬP

Trang 44

Tại sao học OOP?

Đa hình (Polymorphism)

ĐIỂM CHÍNH

Ngày đăng: 14/06/2023, 22:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w