Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
1,27 MB
Nội dung
Bài 2: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OOP) Nhắc lại cũ Tìm hiểu khái niệm cấu trúc liệu Dữ liệu, Cấu trúc liệu Các kiểu cấu trúc liệu Tìm hiểu khái niệm giải thuật (thuật tốn, thuật giải) Khái niệm giải thuật Biểu diễn giải thuật Độ phức tạp giải thuật Mối liên hệ cấu trúc liệu giải thuật Slide - Lập trình hướng đối tượng Mục tiêu học hơm Nhắc lại khái niệm lập trình hướng thủ tục (Procedural Programming) Tìm hiểu khái niệm ý nghĩa Lập trình hướng đối tượng (OOP) Lập trình hướng đối tượng VB.Net Slide - Lập trình hướng đối tượng Tiếp cận vấn đề Có thể so sánh kiểu liệu sở so với kiểu liệu có cấu trúc giống lập trình hướng thủ tục với lập trình hướng đối tượng Lập trình hướng thủ tục thường thao tác với liệu phi cấu trúc (biến kiểu liệu sở), Lập trình hướng đối tượng thường thao tác với liệu có cấu trúc đối tượng Cấu trúc liệu đối tượng loại cấu trúc sử dụng phổ biến lập trình Slide - Lập trình hướng đối tượng Bài tốn ví dụ Bài toán quản lý giao dịch Khách hàng với Ngân Hàng: Khách hàng có giao dịch với ngân hàng: Nạp tiền vào tài khoản Rút tiền từ tài khoản Chuyển khoản tài khoản Slide - Lập trình hướng đối tượng Lập trình hướng thủ tục Quan tâm đến chức (thủ Quản lý Ngân hàng tục) cần thực Chương trình lớn chia thành chức (thủ tục) nhỏ hoạt động độc lập với Phần lớn chức sử dụng liệu chung Chuyển khoản Các chức năng: Nạp tiền, Rút tiền, Chuyển khoản Slide - Lập trình hướng đối tượng Lập trình hướng thủ tục Các vấn đề gặp phải lập trình hướng thủ tục với hệ thống phức tạp: Vấn đề quản lí nhiều chức Vấn đề quản lí liệu phức tạp Vấn đề mở rộng chức sử dụng lại module viết -> Phương pháp lập trình hướng đối tượng Slide - Lập trình hướng đối tượng Lập trình hướng đối tượng Chương trình chia thành Đối tượng (Object) Quản lý Ngân hàng Mỗi đối tượng chịu trách nhiệm quản lí riêng liệu chức Các đối tượng tác động trao đổi thông tin với qua phương thức (chức năng) Các đối tượng: Khách hàng, Tiền, Tài khoản Slide - Lập trình hướng đối tượng Các khái niệm lập trình OOP Đối tượng (Object) Lớp (Class) Thuộc tính (field, attribute) Phương thức (Method) Slide - Lập trình hướng đối tượng Đối tượng (Object) Biểu diễn đối tượng giới thực Mỗi đối tượng đặc trưng thuộc tính hành vi riêng Ví dụ: Đối tượng Khách hàng Thuộc tính Khách hàng Slide - Lập trình hướng đối tượng Họ tên Địa Số CMND Số tài khoản Hành vi Rút tiền từ tài khoản Nạp tiền vào tài khoản Yêu cầu chuyển khoản 10 Các thành phần Class Các thành phần chủ yếu Class bao gồm: Biến thành viên (Field) Thuộc tính (Property) Phương thức khởi tạo (Constructor) Phương thức (Method) Slide - Lập trình hướng đối tượng 20 Biến thành viên Biến thành viên (field) đặc tính bên lớp Ví dụ khai báo biến thành viên sau: Public Class Person ' Khai báo biến thành viên Private mName As String Private mAge As Integer End Class Slide - Lập trình hướng đối tượng 21 Thuộc tính Thuộc tính (property): cho phép định nghĩa chi tiết thao tác truy cập biến thành viên Ví dụ khai báo thuộc tính sau: ‘ Thuộc tính cho phép đọc gán Public Property Name() As String Get Return mName End Get Set(ByVal Value As String) mName = Value End Set End Property Slide - Lập trình hướng đối tượng 22 Phương thức khởi tạo (Constructor) Được dùng để khởi tạo đối tượng Trong VB.Net, thủ tục New phương thức khởi tạo Ví dụ: Public Class Person ' Khai báo biến thành viên Private mName As String Private mAge As Integer ' Thủ tục khởi tạo Public Sub New(ByVal name As String, ByVal age As Integer) Me.mName = name Me.mAge = age End Sub End Class Slide - Lập trình hướng đối tượng 23 Phương thức (Method) Có hai kiểu phương thức: Khơng trả giá trị Trả giá trị Ví dụ phương thức khơng trả giá trị Public Sub Reset() mName = “” mAge = End Function Ví dụ phương thức trả giá trị Public Function Age() As Integer Return mAge End Function Slide - Lập trình hướng đối tượng 24 Tạo Đối tượng Khi có định nghĩa Lớp, tạo Đối tượng từ Lớp (thơng qua phương thức khởi tạo) ‘Định nghĩa đối tượng Dim nguyen_nam_anh As New Person(“Nguyễn Nam Anh”, 18) ‘Định nghĩa đối tượng Dim obj2 As New Person(“Lương Gia Thanh”, 20) Slide - Lập trình hướng đối tượng 25 Thao tác với Đối tượng Sau tạo đối tượng, thực hành động mà đối tượng cung cấp ‘Định nghĩa đối tượng Dim nguyen_nam_anh As New Person(“Nguyễn Nam Anh”, 18) ‘Định nghĩa đối tượng Dim obj2 As New Person(“Lương Gia Thanh”, 20) ‘Gọi phương thức Console.Write(obj2.Age()); Slide - Lập trình hướng đối tượng 26 Mở rộng Lớp Trong tình cần mở rộng chức Lớp (hay nói cách khác thêm hành vi cho đối tượng), có số lựa chọn sau: Nếu có mã nguồn Lớp muốn thay đổi trực tiếp lớp gốc -> thay đổi trực tiếp vào mã nguồn lớp gốc Nếu không muốn thay đổi Lớp gốc (hoặc khơng có mã nguồn), sử dụng hai cách: Tạo lớp Kế thừa (Inheritance) Tạo lớp Tụ hợp (Composition) Slide - Lập trình hướng đối tượng 27 Mở rộng Lớp Kế thừa Kế thừa khả quan trọng OOP Một Lớp (sub-class) định nghĩa cách thừa kế tồn đặc tính hành vi lớp cha (super-class) Ví dụ trên, Apple dạng trái (fruit) Do để tạo lớp Apple, thay định nghĩa lại từ đầu, kế thừa từ lớp Fruit bổ sung thêm đặc tính hành vi táo Slide - Lập trình hướng đối tượng 28 Ví dụ Kế thừa Ví dụ mã định nghĩa lớp Apple kế thừa từ lớp Fruit Public Class Fruit ‘Cài đặt chi tiết cho lớp Fruit End Class Public Class Apple Inherits Fruit ‘Cài đặt thêm đặc tính phương thức riêng Apple End Class Slide - Lập trình hướng đối tượng 29 Mở rộng Lớp Tụ hợp Trong thực tế, tụ hợp sử dụng nhiều kế thừa tính linh hoạt Lớp tạo cách dùng lớp có sẵn phần mình, đồng thời bổ sung thêm đặc tính phương thức riêng Ví dụ trên, Apple tạo cách dùng thuộc tính phương thức lớp Fruit (thơng qua đối tượng fruit), đồng thời bổ sung thêm thành phần Slide - Lập trình hướng đối tượng 30 Ví dụ Tụ hợp Ví dụ mã định nghĩa lớp Apple kế thừa từ lớp Fruit Public Class Fruit ‘Cài đặt chi tiết cho lớp Fruit End Class Public Class Apple Private fruit As Fruit ‘Cài đặt thêm đặc tính phương thức riêng Apple End Class Slide - Lập trình hướng đối tượng 31 OOP Cấu trúc liệu+giải thuật Hiểu rõ khái niệm OOP: lớp, đối tượng, thuộc tính, phương thức, quyền truy cập, phương thức khởi tạo, kế thừa, tụ hợp,… giúp việc tìm hiểu, cài đặt sử dụng cấu trúc liệu sẵn có (ví dụ VB.NET) thuận lợi nhiều Slide - Lập trình hướng đối tượng 32 Tổng kết Lập trình OOP xử lý với liệu có cấu trúc dạng đối tượng Các khái niệm quan trọng lập trình OOP: Đối tượng (Object) Lớp (Class) Phương thức Thuộc tính Đối tượng tạo thông qua phương thức khởi tạo (constructor) Slide - Lập trình hướng đối tượng 33 Tổng kết Lớp (Class) khuôn, Đối tượng (Object) sản phẩm tạo từ khn -> đối tượng tạo từ khuôn class giống đặc tính hành vi Kế thừa (Inheritance) khả định nghĩa lớp mở rộng từ lớp cha Tụ hợp (Composition) khả tập hợp nhiều lớp khác thành phần bổ sung để tạo thành Lớp Slide - Lập trình hướng đối tượng 34 ... viết -> Phương pháp lập trình hướng đối tượng Slide - Lập trình hướng đối tượng Lập trình hướng đối tượng Chương trình chia thành Đối tượng (Object) Quản lý Ngân hàng Mỗi đối tượng chịu trách nhiệm... Lập trình hướng đối tượng Mục tiêu học hôm Nhắc lại khái niệm lập trình hướng thủ tục (Procedural Programming) Tìm hiểu khái niệm ý nghĩa Lập trình hướng đối tượng (OOP) Lập trình hướng đối tượng. .. sở), Lập trình hướng đối tượng thường thao tác với liệu có cấu trúc đối tượng Cấu trúc liệu đối tượng loại cấu trúc sử dụng phổ biến lập trình Slide - Lập trình hướng đối tượng Bài tốn ví dụ Bài