Bài giảng Lập trình Windows - Chapter 9: Object-Based Programming
lượt xem 5
download
Bài giảng "Lập trình Windows - Chapter 9: Object-Based Programming" cung cấp cho người học các kiến thức cơ bản về Class and Object, OOP Terminology-Encapsulation, thiết kế lớp, tạo đối tượng, sử dụng lớp, kiểm tra trước khi down-cast,... Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình Windows - Chapter 9: Object-Based Programming
- 1 Chapter 9 – ObjectBased Programming Outline Introduction Implementing a Time Abstract Data Type with a Class Class Scope Controlling Access to Members Initializing Class Objects: Constructors Using Overloaded Constructors Properties Composition: Objects as Instance Variables of Other Classes Using the this Reference Garbage Collection static Class Members const and readonly Members Indexers Data Abstraction and Information Hiding Software Reusability Namespaces and Assemblies Class View and Object Browser Interface
- 2 Giới Thiệu • Class và Object • ObjectOriented Programming (OOP). • Abstraction – Trừu Tượng • Encapsulation – Đóng Gói • Inheritance – Kế Thừa • Polymorphism – Đa Hình
- 3 Class and Object (Lớp và đối tượng) • Class (Lớp) thực chất là một kiểu dữ liệu được định nghĩa trong chương trình. • Class đặc trưng cho một mẫu, những nét chung nhất của một vài đối tượng và mô tả cấu trúc bên trong của những đối tượng này. • Thể hiện (instance) của một lớp được gọi là những đối tượng (object). Những đối tượng này được tạo trong bộ nhớ khi chương trình được thực hiện. • Những đối tượng của cùng một class có cùng định nghĩa về các thao tác và cấu trúc dữ liệu của chúng
- 4 Class and Object (Lớp và đối tượng) ClassName - Properties + Methods
- 5 Class and Object • Class : là một khái niệm trừu tượng (Abstraction) • Object: là một đối tượng thật • Ví Dụ: Ca sĩ là 1 class Ca sĩ là 1 class CCẩẩm Ly là mộột ca sĩ (Object) m Ly là m t ca sĩ (Object) Thờời gian Th i gian là 1 class là 1 class Giờờ vào l Gi vào lớớpp là th là thờời gian (Object) i gian (Object) Giờờ ra ch Gi ra chơơii là th là thờời gian (Object) i gian (Object)
- 6 Class and Object Class CaSi Class Time Property Property SoBaiHat Giờ KieuToc Phút GiongHat Giây Method Method Sub DonCa SetTime Sub TrinhDien UniversalString Function KyTenLuuNiem ToString Event Event KhatNuoc …
- 7 Class and Object (Lớp và đối tượng) System System.Window.Form Console MessageBox Propertes Propertes + Write(…) + Show(…) + Writeline(…) +… + ReadLine() +… Form Math - Text - PI - Name … -E + Close() + Pow(…) + Hide() + Sqrt(…) + Show() + Sin(…) +… +…
- 8 Giới Thiệu • ObjectOriented Programming (OOP). • Abstraction – Trừu Tượng • Encapsulation – Đóng Gói • Inheritance – Kế Thừa • Polymorphism – Đa Hình
- ObjectOriented Programming (OOP) 9 Abstraction • Mô hình của một đối tượng được xác định qua: – Đặc điểm (Characteristics) Thuộc tính (properties) – Hành vi (Behaviors) Phương thức (methods) Abstraction Reality Object-Oriented Object-Oriented Programming Programming
- 10 OOP TerminologyEncapsulation • Sự kết hợp của các đặc điểm cùng với các hành vi của một đối tượng được gọi là một gói (package). • Data hiding – Thuộc tính và các thủ tục bị ẩn. – Người lập trình điều khiển các thuộc tính và các phương thức có sẵn tới các đối tượng khác. – Khai báo là private
- 11 OOP TerminologyInheritance • Có khả năng tạo ra một lớp mới từ lớp đã tồn tại. • Lớp tồn tại (original – lớp gốc) được gọi là lớp cơ sở (base), superclass, hay lớp cha (parent) • Lớp được thừa kế được gọi là lớp được chuyển giao (derived), subclass, hay lớp con (child) • Lớp con có một quan hệ “is a” với lớp cha của nó.
- 12 OOP TerminologyInheritance namespaceOOP namespace OOP {{ publicpartial public partialclass classfrmOOP_Programing frmOOP_Programing::Form Form {{ ......
- 13 OOP TerminologyInheritance • Sự thừa kế (Inheritance) hỗ trợ khả năng tái sử dụng (reusability) • Reusability – tạo ra một hàm của một đối tượng và hàm này có thể được sử dụng cho nhiều projects
- 14 OOP Terminology Polymorphism • Là những phương thức (Methods) có cùng tên nhưng thực hiện những công việc khác nhau. • Phương thức Select thì khác nhau cho các đối tượng như radio buttons, check boxes, và list boxes • Cho phép một lớp có một hay nhiều phương thức cùng tên nhưng danh sách các đối số (argument lists) thì khác nhau. Polymorphism Polymorphismisisthe theability abilityto totake takeon on many manyshapes shapesor orforms. forms.
- 15 Khai Báo Lớp Declaration Class [Thuộc tính bổ sung truy cập] class [: Lớp cơ sở] { } • Định danh lớp chính là tên của lớp do người xây dựng chương trình tạo ra. • Lớp cơ sở là lớp mà đối tượng sẽ kế thừa để phát triển. • Tất cả các thành viên của lớp được định nghĩa bên trong thân của lớp, phần thân này sẽ được bao bọc bởi hai dấu ({}). • Thuộc tính bổ sung truy cậpAccess modifier: – public, protected, internal, protected internal, private • Nếu ko khai báo lớp cơ sở thì C# mặc định xem lớp cơ sở là object • Lớp luôn là kiểu dữ liệu tham chiếu trong C#
- 16 Thiết kế lớp • Thêm class m public ới vào project: Project
- Controlling Access to Member (p 294) 17 (Thuộc tính giới hạn truy cập) • Public: Những thành viên được đánh dấu public có thể được dùng bởi bất kì các phương thức của lớp bao gồm những lớp khác. • Private: Thành viên trong một lớp A được đánh dấu là private thì chỉ được truy cập bởi các phương thức của lớp A. • Protected: Thành viên trong lớp A được đánh dấu là protected thì chỉ được các phương thức bên trong lớp A và những phương thức dẫn xuất từ lớp A truy cập. • Internal: Thành viên trong lớp A được đánh dấu là internal thì được truy cập bởi những phương thức của bất cứ lớp nào trong cùng khối hợp ngữ với A. • Protected internal: Thành viên trong lớp A được đánh dấu là protected internal được truy cập bởi các phương thức của lớp A, các phương thức của lớp dẫn xuất của A, và bất cứ lớp nào trong cùng khối hợp ngữ của A.
- 18 Thiết kế lớp (tt) • Ví dụ CHinhCN - ChieuDai - ChieuRong - DienTich - ChuVi … Các thuộc tính nên được cung cấp chế độ an toàn dữ liệu nên được khai báo thuộc tính truy cập là private (nguyên tắc đóng gói) Phương thức được khai báo thuộc tính truy cập là public
- 19 Thiết kế lớp (tt) • Ví dụ CHinhCN private double mDai; private double mRong; // methods public double ChuVi() public double DienTich()
- 20 Tạo đối tượng • Khai báo Tên đối tượng Tên lớp – Trong thân lớp • Giống như thuộc tính HocSinh hs ; – Trong thân phương thức • Tương tự như biến hs • Khởi tạo – Bằng lệnh new Tạo đối tượng Ten_Lop object; object = new Ten_Lop (arg1, Arg2, …); hs = new HocSinh(); hs 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình Windows bằng C Sharp (C#) - GV. Nguyễn Thành Chiến
38 p | 231 | 70
-
Bài giảng Lập trình Windows - Phạm Ngọc Hưng (ĐH Bách Khoa)
312 p | 224 | 53
-
Bài giảng Lập trình Windows - ĐH Hàng Hải
96 p | 211 | 41
-
Bài giảng Lập trình Window: Chương 6 - Phan Trọng Tiến
35 p | 167 | 20
-
Bài giảng Lập trình Windows - Chương 3: Lập trình giao diện
196 p | 102 | 18
-
Bài giảng Lập trình Windows - Chương 1: Tổng quan lập trình Windows (2016)
6 p | 151 | 8
-
Bài giảng Lập trình Windows - Phạm Ngọc Hưng
84 p | 105 | 8
-
Bài giảng Lập trình Windows - Chương 3: Lập trình C++ trên Windows (2016)
16 p | 74 | 8
-
Bài giảng Lập trình Windows Phone (Module 2): Bài 1 - Trần Duy Thanh
58 p | 95 | 8
-
Bài giảng Lập trình Windows: Phần 1 - Đại học Hàng Hải
47 p | 91 | 6
-
Bài giảng Lập trình Windows Phone (Module 3): Bài 7 - Trần Duy Thanh
22 p | 64 | 6
-
Bài giảng Lập trình Windows Phone (Module 4): Bài 8 - Trần Duy Thanh
15 p | 87 | 6
-
Bài giảng Lập trình Windows: Chương 1 - Một số khái niệm cơ bản
56 p | 126 | 6
-
Bài giảng Lập trình Windows: Bài 1 - Trần Ngọc Bảo
77 p | 100 | 6
-
Bài giảng Lập trình Windows Phone (Module 4): Bài 3, 4 - Trần Duy Thanh
18 p | 69 | 5
-
Bài giảng Lập trình Windows Phone (Module 3): Bài 5 - Trần Duy Thanh
13 p | 79 | 5
-
Bài giảng Lập trình Windows Phone (Module 3): Bài 9 - Trần Duy Thanh
10 p | 59 | 4
-
Bài giảng Lập trình Windows: Bài 3 - Trần Ngọc Bảo
106 p | 74 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn