Bài giảng c và môi trường donet bài 5

22 198 0
Bài giảng c và môi trường donet   bài 5

Đ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

Bài Lớp phương thức  Ôn tập lại cũ • Mảng • Câu lệnh foreach • Lớp Random • Kí tự • Chuỗi kí tự Lớp phương thức  Nội dung trình bày • Các đặc điểm lập trình hướng đối tượng • Khái niệm lớp cách khai báo lớp(class) • Khái niệm đối tượng cách khởi tạo đối tượng(object) • Constructor(hàm tạo) • Constructor mặc định • Static constructor • Con trỏ this Subject name / Session# / of Totalpage Lớp phương thức  Nội dung trình bày • Deconstructor(hàm hủy) • Garbage Collector • Phương thức(method) • Static member not static member • Method Overloading(chồng phương thức) • Chồng toán tử (Operator Overloading) • Access modifier(phạm vi truy cập) • Từ khóa ref out Lớp phương thức  Các đặc điểm lập trình hướng đối tượng • Trừu tượng hóa liệu(Data Abstraction) • Bao gói liệu(Encapsulation) • Kế thừa(Inheritance) • Đa hình(Polymorphism) Lớp phương thức  Khái niệm lớp • Lớp khái niệm để lớp đối tượng có đặc điểm, thuộc tính • Mỗi lớp đối tượng gồm có thuộc tính(characteristics gọi state ) hành vi(behavior, gọi action) Lớp phương thức  Cách khai báo lớp C# • Thông thường lớp gồm có: − Các field − Các constructor(hàm tạo) − Các phương thức • Cú pháp để khai báo lớp: class { //class member } • Ví dụ DEMO khai báo lớp Lớp phương thức  Khái niệm đối tượng (object) • Là thực thể tồn thực tế • Là thể lớp (Instance of class) • Cú pháp để tạo đối tượng lớp(Instantiating Objects) • = new (); • − Cấp phát vùng nhớ − Khởi tạo đối tượng So sánh lớp(class) đối tượng(object) − Lớp định nghĩa mô hình, đưa thuộc tính hành động mà đối tượng lớp phải có − • Còn đối tượng thực thể thật thực tế Ví dụ DEMO khởi tạo đối tượng lớp Lớp phương thức  Constructor • Là phương thức đặt biệt dùng để khởi tạo đối tượng lớp • Đặc điểm: − Trùng với tên lớp − Không trả kiểu liệu − Có đối số đối số − Nếu không viết constructor, trình biên dịch cung cấp constructor mặc định trình dùng constructor mặc định • Ví dụ DEMO Constructor Lớp phương thức  Default constructor(Constructor mặc định) • Nếu không viết constructor cho lớp trình biên dịch cung cấp constructor mặc định, constructor mặc định có đặc điểm: − Phạm vi truy xuất public − Trùng tên lớp − Không có đối số − Không có kiểu liệu trả − Khởi tạo thuộc tính(field) lớp 0,false null • Ví dụ DEMO default constructor Lớp phương thức  Static constructor • Được tự động thực thi để khởi tạo class variable(các biến tĩnh) • Static constructor thực thi trước đối tượng lớp khởi tạo • Static constructor thực thi trước static variable hay static method lớp gọi • Static constructor gọi lần • Static constructor không chứa tham số • Không sử dụng trỏ this static constructor • Ví dụ DEMO static constructor Lớp phương thức  Destructor • Đây phương thức đặt biệt tự động gọi để giải phóng vùng nhớ đối tượng đối tượng không sử dụng • Mỗi lớp có destructor • Destructor kế thừa gọi cách tường minh • Trùng với tên lớp thêm ký tự ~ đằng trước tên destructor • Ví dụ destructor Lớp phương thức  Garbage collector • Toán tử new dùng để cấp phát vùng nhớ cho đối tượng Tuy nhiên nhớ giới hạn nên cần phải giải phóng vùng nhớ đối tượng đối tượng không sử dụng để giành nhớ cấp phát cho đối tượng khác • Quá trình giải phóng vùng nhớ thực chế tên Garbage collector NET Framework Lớp phương thức  Con trỏ this • Dùng để tham chiếu đến đối tượng lớp • Nó dùng trường hợp đối số phương thức đối số constructor trùng với tên thuộc tính lớp • Ví dụ DEMO trỏ this Lớp phương thức  Phương thức(method) • Là hàm bên lớp, phương thức cài đặt hành động đối tượng • Các phương thức gọi thông qua đối tượng thông qua tên lớp phương thức tĩnh • Cú pháp để khai báo phương thức ([danh sách đối số]) { } • Gọi phương thức: − tênđốitượng.tênphươngthức(các đối số) − Tênlớp.tênphươngthức Lớp phương thức  Chồng phương thức(Method Overloading) • Trong lớp, cho phép phương thức có tên khác số đối số kiểu đối số, phương thức gọi method overloading • Ví dụ DEMO method overloading Lớp phương thức  Static member non static member(các thuộc,phương thức tĩnh thuộc tính, phương thức không tĩnh) • Các thành phần tĩnh − Các thuộc tính phương thức tĩnh thành phần lớp − Các từ khóa static đằng trước tính phương thức − Chỉ truy xuất đến thành phần tĩnh qua tên lớp • Các thành phần không tĩnh − Là thành phần đối tượng − Không có từ khóa static đằng trước − Chỉ truy xuất thông qua đối tượng lớp • Ví dụ DEMO Lớp phương thức  Operator Overloading • Các phép toán(toán tử) mà ngôn ngữ lập trình C# cung cấp thực kiểu liệu • Ví dụ biểu thức a+b a,b phải kiểu liệu bản(int, float) • Nếu a,b, đối tượng lớp phép cộng không thực • Vậy để cộng làm nào? • Câu trả lời phải định nghĩa lại phép cộng(chồng toán tử cộng) để cộng đối tượng Lớp phương thức  Ví dụ: để cộng đối tượng time1 time2  Cách 1: sử dụng phương thức: time = objTime.Add(time1, time2)  Cách 2: dùng chồng toán tử: time = time1 + time2;  =>Cách dễ hiểu  Các phép toán đặt chồng là:  Cú pháp:operator  Ví dụ DEMO chồng toán tử(operator overloaded) Lớp phương thức  Phạm vi truy xuất • Các ngôn ngữ lập trình hướng đối tượng có khả giới hạn việc truy cập đến thành phần lớp(thuộc tính, phương thưc ) • Access modifier thuật ngữ định phạm vi truy xuất(được truy xuất chỗ nào) thành phần bên lớp • Gồm có: − public: cho phép thành phần bên lớp truy xuất bên lớp bên lớp − private: cho phép thành phần truy xuất bên lớp − protected: cho phép thành phần truy xuất bên lớp lớp kế thừa từ lớp • Ví dụ DEMO Lớp phương thức  Từ khóa ref out • Cả từ khóa dùng để truyền tham số cho phương thức theo kiểu tham biến • từ khóa khác chỗ: từ khóa out không yêu cầu phải khởi tạo biến truyền cho phương thức • Ví dụ DEMO từ khóa ref out Lớp phương thức  Tổng kết • Lớp đối tượng • Constructor Destructor • Garbage Collector • Phương thức(Method) • Chồng phương thức(Method Overloading) • Chông toán tử(Operator Overloading) • Access modifier (phạm vi truy xuất) • Từ khóa ref out [...]...Lớp và phương th c  Static constructor • Đư c tự động th c thi để khởi tạo c c class variable (c c biến tĩnh) • Static constructor đư c th c thi trư c khi bất kỳ một đối tượng nào c a lớp đư c khởi tạo • Static constructor đư c th c thi trư c khi một static variable hay static method nào c a lớp đư c gọi • Static constructor chỉ đư c gọi một lần duy nhất • Static constructor không chứa bất kỳ... Lớp và phương th c  Static member và non static member (c c thu c, phương th c tĩnh và c c thu c tính, phương th c không tĩnh) • C c thành phần tĩnh − C c thu c tính và phương th c tĩnh là c c thành phần c a lớp − C c từ khóa static đằng trư c th c tính ho c phương th c − Chỉ c thể truy xuất đến c c thành phần tĩnh này qua tên lớp • C c thành phần không tĩnh − Là thành phần c a đối tượng − Không c ... th c  Con trỏ this • Dùng để tham chiếu đến đối tượng hiện tại c a lớp • Nó dùng trong trường hợp khi đối số c a phương th c ho c đối số c a constructor trùng với tên c a c c thu c tính trong lớp • Ví dụ DEMO con trỏ this Lớp và phương th c  Phương th c( method) • Là c c hàm bên trong một lớp, mỗi phương th c cài đặt một hành động c a đối tượng • C c phương th c đư c gọi thông qua c c đối tượng ho c thông... destructor Lớp và phương th c  Garbage collector • Toán tử new dùng để c p phát vùng nhớ cho một đối tượng Tuy nhiên do bộ nhớ là giới hạn nên c n phải giải phóng vùng nhớ c a c c đối tượng khi c c đối tượng không c n đư c sử dụng nữa để giành bộ nhớ c p phát cho c c đối tượng kh c • Quá trình giải phóng vùng nhớ đư c th c hiện bởi c chế tên là Garbage collector trong NET Framework Lớp và phương th c. .. là phương th c tĩnh • C pháp để khai báo một phương th c ([danh sách đối số]) { } • Gọi phương th c: − tênđốitượng.tênphươngth c( c c đối số) − Tênlớp.tênphươngth c Lớp và phương th c  Chồng phương th c( Method Overloading) • Trong một lớp, cho phép c c phương th c có c ng tên nhưng kh c nhau về số đối số ho c kiểu c a đối số, c c phương th c như vậy gọi... dụng con trỏ this trong static constructor • Ví dụ DEMO static constructor Lớp và phương th c  Destructor • Đây là phương th c đặt biệt đư c tự động gọi để giải phóng vùng nhớ c a đối tượng khi đối tượng không đư c sử dụng • Mỗi một lớp chỉ c duy nhất một destructor • Destructor không thể kế thừa và không thể gọi một c ch tường minh • Trùng với tên c a lớp và thêm ký tự ~ đằng trư c tên destructor... static đằng trư c − Chỉ đư c truy xuất thông qua đối tượng c a lớp • Ví dụ DEMO Lớp và phương th c  Operator Overloading • C c phép toán(toán tử) mà ngôn ngữ lập trình C# cung c p chỉ th c hiện trên c c kiểu dữ liệu c bản • Ví dụ biểu th c a+b thì a,b phải là 2 kiểu dữ liệu c bản(int, float) • Nếu a,b, là 2 đối tượng c a một lớp nào đó thì phép c ng sẽ không th c hiện đư c • Vậy để c ng đư c thì... thế nào? • C u trả lời phải định nghĩa lại phép c ng(chồng toán tử c ng) để nó c thể c ng đư c 2 đối tượng Lớp và phương th c  Ví dụ: để c ng 2 đối tượng time1 và time2  C ch 1: sử dụng phương th c: time = objTime.Add(time1, time2)  C ch 2: dùng chồng toán tử: time = time1 + time2;  = >C ch 2 dễ hiểu hơn  C c phép toán c thể đặt chồng là:  C pháp:operator  Ví dụ DEMO chồng toán... chỉ cho phép c c thành phần chỉ truy xuất đư c bên trong một lớp − protected: cho phép c c thành phần đư c truy xuất bên trong lớp c ng như c c lớp kế thừa từ lớp đó • Ví dụ DEMO Lớp và phương th c  Từ khóa ref và out • C 2 từ khóa này dùng để truyền tham số cho phương th c theo kiểu tham biến • 2 từ khóa này kh c nhau ở chỗ: từ khóa out không yêu c u phải khởi tạo biến khi truyền cho phương th c. .. overloaded) Lớp và phương th c  Phạm vi truy xuất • C c ngôn ngữ lập trình hướng đối tượng c khả năng giới hạn vi c truy c p đến c c thành phần trong lớp(thu c tính, phương th c ) • Access modifier là thuật ngữ chỉ định phạm vi truy xuất(đư c truy xuất ở những chỗ nào) c a c c thành phần bên trong lớp • Gồm c : − public: cho phép một thành phần bên trong lớp đư c truy xuất bên trong lớp c ng như bên ... biên dịch cung c p constructor m c định trình dùng constructor m c định • Ví dụ DEMO Constructor Lớp phương th c  Default constructor(Constructor m c định) • Nếu không viết constructor cho lớp... constructor Lớp phương th c  Static constructor • Đư c tự động th c thi để khởi tạo class variable (c c biến tĩnh) • Static constructor th c thi trư c đối tượng lớp khởi tạo • Static constructor... th c  Static member non static member (c c thu c, phương th c tĩnh thu c tính, phương th c không tĩnh) • C c thành phần tĩnh − C c thu c tính phương th c tĩnh thành phần lớp − C c từ khóa static

Ngày đăng: 03/12/2015, 22:43

Mục lục

  • Lớp và phương thức

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan