tổng quát về lập trình bằng visual basic

22
Tổng quát về lập trình Tổng quát về lập trình bằng Visual Basic bằng Visual Basic Chương 3 Chương 3

Upload: dacia

Post on 10-Jan-2016

82 views

Category:

Documents


0 download

DESCRIPTION

Chương 3. Tổng quát về lập trình bằng Visual Basic. Cấu trúc chương trình cổ điển. Chương trình = cấu trúc dữ liệu + giải thuật. dữ liệu toàncục. module (package). dữ liệu cục bộ trong module. điểm nhập 'start'. dữ liệu cục bộ trong hàm. Lập trình cấu trúc và hướng đối tượng. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tổng quát về lập trình bằng Visual Basic

Tổng quát về lập trình Tổng quát về lập trình bằng Visual Basicbằng Visual Basic

Chương 3Chương 3

Page 2: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 22

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Cấu trúc chương trình cổ điểnCấu trúc chương trình cổ điển

Chương trình = cấu trúc dữ liệu + giải thuật

điểm nhập 'start'

dữ liệu toàncụcmodule

(package)dữ liệu cục

bộ trong module

dữ liệu cục bộ trong

hàm

Page 3: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 33

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Lập trình cấu trúc và hướng đối tượngLập trình cấu trúc và hướng đối tượng

Có 2 nhược điểm :Có 2 nhược điểm :Khó đảm bảo tính nhất quán của dữ liệu toàn cục.Khó đảm bảo tính nhất quán của dữ liệu toàn cục.

Không tự tạo ra các phiên bản (instance) của module được.Không tự tạo ra các phiên bản (instance) của module được.

Kỹ thuật lập trình hướng đối tượng (OOP – Object Oriented Kỹ thuật lập trình hướng đối tượng (OOP – Object Oriented Programming) ra đời khắc phục được các nhược điểm trên.Programming) ra đời khắc phục được các nhược điểm trên.

Theo OOP, chương trình là tập các đối tượng sống tương Theo OOP, chương trình là tập các đối tượng sống tương tác với nhau.tác với nhau.

Visual Basic là ngôn ngữ có hỗ trợ OOP. Hơn nữa, VB còn Visual Basic là ngôn ngữ có hỗ trợ OOP. Hơn nữa, VB còn được xây dựng trên môi trường lập trình trực quan (visual) được xây dựng trên môi trường lập trình trực quan (visual) nên thuận tiện cho người lập trình trong vấn đề thiết kế giao nên thuận tiện cho người lập trình trong vấn đề thiết kế giao diện.diện.

Page 4: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 44

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Cấu trúc chương trình OOPCấu trúc chương trình OOP

Chương trình = tập các đối tượng tương tác nhau

điểm nhập

đối tượng (object)

dữ liệu cục bộ của đối

tượng

dữ liệu cục bộ

của tác vụ

Page 5: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 55

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Đối tượng (Object)Đối tượng (Object)Mô hình đối tượng quan niệm chương trình bao gồm các đối tượng sinh sống và tương tác với nhau.

Đối tượng bao gồm : Thuộc tính (properties) : là dữ liệu (data).

Tác vụ (operation) : là hàm (code).

Interface(abstract type)

Implementation(class)

Page 6: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 66

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Kiểu trừu tượng (Abstract type)Kiểu trừu tượng (Abstract type)Abstract type (type) định nghĩa interface sử dụng đối tượng.

Interface là tập hợp các điểm nhập (entry) mà bên ngoài có thể giao tiếp với đối tượng.

Dùng signature để định nghĩa mỗi entry, signature gồm có:

Tên method (operation)

Danh sách tham số hình thức, mỗi tham số được đặc tả bởi 3 thuộc tính : tên, kiểu và chiều di chuyển (IN, OUT, INOUT).

Đặc tả chức năng của method (thường là chú thích).

Dùng abstract type (chứ không phải class) để đặc tả kiểu cho biến, thuộc tính, tham số hình thức.

Người sử dụng không cần quan tâm đến class (hiện thực cụ thể) của đối tượng mà chỉ cần biết inteface để sử dụng đối tượng.

Abstract type (type) định nghĩa interface sử dụng đối tượng.

Interface là tập hợp các điểm nhập (entry) mà bên ngoài có thể giao tiếp với đối tượng.

Dùng signature để định nghĩa mỗi entry, signature gồm có:

Tên method (operation)

Danh sách tham số hình thức, mỗi tham số được đặc tả bởi 3 thuộc tính : tên, kiểu và chiều di chuyển (IN, OUT, INOUT).

Đặc tả chức năng của method (thường là chú thích).

Dùng abstract type (chứ không phải class) để đặc tả kiểu cho biến, thuộc tính, tham số hình thức.

Người sử dụng không cần quan tâm đến class (hiện thực cụ thể) của đối tượng mà chỉ cần biết inteface để sử dụng đối tượng.

Page 7: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 77

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Class (Implementation)Class (Implementation)Class định nghĩa chi tiết hiện thực đối tượng :

Định nghĩa các thuộc tính dữ liệu : giá trị của tất cả thuộc tính xác định trạng thái của đối tượng.

Kiểu của thuộc tính có thể là kiểu cổ điển hay tham khảo đến đối tượng khác.

Khai báo các method và các hàm bên trong.

Định nghĩa các method tạo (create) và xóa (delete) đối tượng.

Định nghĩa các method constructor và destructor.

Định nghĩa các method và các hàm bên trong.

Page 8: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 88

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Tính bao đóng (encapsulation)Tính bao đóng (encapsulation)Bao đóng : che dấu mọi chi tiết hiện thực của đối tượng, không cho bên ngoài thấy và truy xuất tính độc lập cao giữa các đối tượng (hay tính kết dính - cohesion giữa các đối tượng rất thấp).

Che dấu các thuộc tính dữ liệu : nếu cần cho phép truy xuất 1 thuộc tính dữ liệu, ta tạo 2 method get/set tương ứng để giám sát việc truy xuất và che dấu chi tiết hiện thực bên trong.

Che dấu chi tiết hiện thực các method.

Che dấu các internal function và sự hiện thực của chúng.

Page 9: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 99

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Tính thừa kế (inheritance)Tính thừa kế (inheritance)Viết một ứng dụng OOP là định nghĩa các type/class của các đối tượng cấu thành ứng dụng.Tính thừa kế cho phép giảm nhẹ công sức định nghĩa type/class : ta có thể định nghĩa các type/class không phải từ đầu mà bằng cách kế thừa type/class có sẵn, ta chỉ định nghĩa thêm các chi tiết mới mà thôi (thường khá ít).

Đa thừa kế hay đơn thừa kế.Mối quan hệ supertype/subtype và superclass/subclass.Có thể vượt qua (override) các method của lớp cha, kết quả override chỉ có nghĩa trong đối tượng của lớp con.Đối tượng của lớp con có thể đóng vai trò của đối tượng thuộc lớp cha nhưng ngược lại thường không được.

Page 10: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1010

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Tính bao gộp (aggregation)Tính bao gộp (aggregation)Một đối tượng có thể chứa nhiều đối tượng khác tạo nên mối quan hệ bao gộp 1 cách đệ qui giữa các đối tượng.

Có 2 góc nhìn về tính bao gộp : ngữ nghĩa và hiện thực.

O1

O2

O3

O1

O2

O3

Page 11: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1111

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Thông điệp (message)Thông điệp (message)Thông điệp là phép gọi tác vụ của một đối tượng dựa vào tham khảo của nó.

Thông điệp bao gồm 3 phần:Tham khảo đến đối tượng đích.

Tên tác vụ muốn gọi.

Danh sách tham số thực cần truyền theo (hay nhận về từ) tác vụ.

Ví dụ : aCircle.SetRadius (3); aCircle.Draw (pWnd);

Truy xuất thuộc tính trong interface :

aCircle.Radius = 10 aCircle.SetRadius(10)

r = aCircle.Radius r = aCircle.GetRadius()

Thông điệp là phương tiện giao tiếp (hay tương tác) duy nhất giữa các đối tượng.

Page 12: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1212

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Hai thành phần chính của ứng dụngHai thành phần chính của ứng dụngGiao diện người dùng :

Giúp người sử dụng tương khai thác ứng dụng.

Trong OOP, giao diện người dùng được xây dựng dựa trên đối tượng giao diện form.

Trên form có thể bố trí nhiều đối tượng nhỏ hơn như menu, toolbar, command button, textbox, listbox, treeview...

Giải thuật xử lý bên trong :Thể hiện qua các method của các đối tượng.

Mỗi method được hiện thực bằng các lệnh thực thi (cấu trúc điều khiển) và còn được gọi là viết code.

Giao diện dùng để chọn sự kiện tương tác còn viết code để giải quyết bài toán thông qua xử lý sự kiện.

Page 13: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1313

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Thiết kế trực quan giao diệnThiết kế trực quan giao diệnĐịnh nghĩa các đối tượng giao diện bằng cách viết code tường minh là công việc rất khó khăn và tốn nhiều công sức, thời gian. Môi trường lập trình trực quan (visual) hổ trợ người lập trình :

Một số đối tượng giao diện thường dùng.Các công cụ thiết kế trực quan để xây dựng giao diện từ các đối tượng giao diện có sẳn.Các công cụ để tạo ra đối tượng giao diện mới (ActiveX Control).

Cách làm này được gọi là viết ứng dụng bằng cách lắp ghép các linh kiện phần mềm (tương tự việc lắp máy tính từ các linh kiện phần cứng như CPU, RAM, disk, keyboard, monitor,...). ưu điểm: dễ làm và nhanh chóng.

Page 14: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1414

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Các đối tượng giao diện có trong VBCác đối tượng giao diện có trong VBControl buttonsWindow / Form / DialogBox

Title bar

TextBox

Command button

Page 15: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1515

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Các đối tượng giao diện (tt.)Các đối tượng giao diện (tt.)

Label

DriveListBox

Picture

ComboBox(TextBox + ListBox)

DirListBox

FileListBox

Page 16: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1616

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Các đối tượng giao diện (tt.)Các đối tượng giao diện (tt.)

Frame

OptionButton

CheckBox

Page 17: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1717

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Các đối tượng giao diện (tt.)Các đối tượng giao diện (tt.)

Menu bar

ToolBar

Popup menu

Status bar

Document

Command Button

Page 18: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1818

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Tính chất chung của đối tượng giao diệnTính chất chung của đối tượng giao diện

Đối tượng giao diện có những tính chất giống như đối tượng bình thường, ngoài ra chúng còn có 1 số đặc điểm riêng.

Đối tượng giao diện cũng được cấu thành từ 2 loại thành phần : thuộc tính và tác vụ.

Mỗi đối tượng giao diện chứa khá nhiều thuộc tính liên quan đến nhiều loại trạng thái khác nhau :

'Name' : là tên của đối tượng. Tên này được dùng trong chương trình như là tên biến.

Các thuộc tính xác định vị trí và kích thước : Left, Top, Height, Width...

Các thuộc tính xác định tính chất hiển thị : Caption, Picture, BackColor,...

Các thuộc tính xác định hành vi : Enable, ...

Các thuộc tính khác.

Page 19: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 1919

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Hiệu chỉnh thuộc tính của đối tượng giao diệnHiệu chỉnh thuộc tính của đối tượng giao diện

Hiệu chỉnh thuộc tính của đối tượng giao diện là thao tác cần phải làm sao khi sinh ra đối tượng. Có 2 cách để hiệu chỉnh giá trị 1 thuộc tính :

Trực tiếp trên hình ảnh của đối tượng hoặc trong cửa sổ Properties.

Gán giá trị trong chương trình thông qua tên đối tượng.

Page 20: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 2020

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Sự kiện - Hàm xử lý sự kiệnSự kiện - Hàm xử lý sự kiệnMỗi đối tượng giao diện có nhiều tác vụ (method) mà hầu hết được gọi là hàm xử lý sự kiện. Cơ chế gọi hàm này chủ yếu là dựa vào sự tương tác trực tiếp với đối tượng, từ đó tạo sự kiện kích khởi hàm xử lý tương ứng chạy.

Thí dụ khi ta ấn chuột vào button tên "Command1", hệ thống tạo ra sự kiện "Click" để kích khởi hàm Command1_Click() chạy.

Page 21: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 2121

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Cách tạo hàm xử lý sự kiện của đối tượngCách tạo hàm xử lý sự kiện của đối tượng

Menu View.Code

Popup menu

1

2

Chọn sự kiện3

Viết code4

Page 22: Tổng quát về lập trình bằng Visual Basic

Môn Tin họcMôn Tin họcChương 3 : Tổng quát về lập trình bằng VBChương 3 : Tổng quát về lập trình bằng VB

Slide Slide 2222

Khoa Khoa học & Kỹ thuật máy tínhKhoa Khoa học & Kỹ thuật máy tínhTrường ĐH Bách Khoa Tp.HCMTrường ĐH Bách Khoa Tp.HCM

Tổng kết qui trình viết 1 ứng dụng bằng VBTổng kết qui trình viết 1 ứng dụng bằng VB

Trước hết phải nắm bắt yêu cầu phần mềm để xác định các chức năng mà ứng dụng phải cung cấp cho người dùng.

Phân tích sơ lược từng chức năng và tìm ra các class phân tích cấu thành chức năng tương ứng.

Thiết kế chi tiết các class phân tích : xác định các thuộc tính và các tác vụ cũng như phác họa giải thuật của từng tác vụ.

Hiện thực phần mềm bằng VB gồm 2 công việc chính :

Thiết kế trực quan các form giao diện người dùng :Sử dụng phần tử giao diện có sẵn.

Tạo ra đối tượng giao diện mới bằng ActiveX Control.

Đặt tên (Name) và cung cấp giá trị ban đầu cho một vài thuộc tính cần thiết của đối tượng giao diện gắn trên form.

Tạo hàm xử lý sự kiện cho các sự kiện cần thiết của các phần tử giao diện rồi viết code cho từng hàm xử lý sự kiện vừa tạo ra.