1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình hướng đối tượng: Chương 1 - ĐH Ngoại ngữ - Tin học

42 29 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

Định dạng
Số trang 42
Dung lượng 2,49 MB

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

Nội dung

Bài giảng Lập trình hướng đối tượng - Chương 1: Giới thiệu lập trình hướng đối tượng cung cấp cho người học các kiến thức: 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.

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

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 đề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 OO 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

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:

    if length(p.name)) > 5

{ 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;

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ể được mô

hình thành:

Dữ liệu (data/field/property/attribute/state)

Hàm (function/method/behaviour/operation) thao tác trên dữ

liệu

Trong OOP, Đối tượng (object) là biến Tập dữ liệu Hàm

Đối tượng (object)

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)

Tạo lớp mới thừa kế lớp đã có

Khả năng tạo ra các lớp dẫn xuất, cài đặt cùng một method

của lớp cơ sở theo những cách khác nhau (tùy từng lớp dẫn xuất)

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

Trang 32

Đóng gói (Encapsulation )

Trong OOP, Đóng gói

• Ẩn đi các property

• Ẩn đi một số method

• Ẩ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

Tại sao học OOP?

Đa hình ( Polymorphism )

ĐIỂM CHÍNH

Ngày đăng: 11/05/2021, 00:47

TỪ KHÓA LIÊN QUAN

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