intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình Windows - Chapter 9: Object-Based Programming

Chia sẻ: Hấp Hấp | Ngày: | Loại File: PPT | Số trang:138

41
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình Windows - Chapter 9: Object-Based Programming

  1. 1 Chapter 9 – Object­Based 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. 2 Giới Thiệu • Class và Object • Object­Oriented Programming (OOP). • Abstraction – Trừu Tượng • Encapsulation – Đóng Gói • Inheritance – Kế Thừa • Polymorphism – Đa Hình
  3. 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. 4 Class and Object (Lớp và đối tượng) ClassName - Properties + Methods
  5. 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. 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. 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. 8 Giới Thiệu • Object­Oriented Programming (OOP). • Abstraction – Trừu Tượng • Encapsulation – Đóng Gói • Inheritance – Kế Thừa • Polymorphism – Đa Hình
  9. Object­Oriented 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. 10 OOP Terminology­Encapsulation • 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. 11 OOP Terminology­Inheritance • 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. 12 OOP Terminology­Inheritance namespaceOOP namespace OOP {{ publicpartial public partialclass classfrmOOP_Programing frmOOP_Programing::Form Form {{ ......
  13. 13 OOP Terminology­Inheritance • 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. 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. 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. 16 Thiết kế lớp • Thêm class m public ới vào project: Project 
  17. 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. 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. 19 Thiết kế lớp (tt) • Ví dụ CHinhCN private double mDai; private double mRong; // methods public double ChuVi() public double DienTich()
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2