Tài liệu tham khảo về lập trình hướng đối tượng với .NET & C#.Chương 3 Lớp và đối tượng ppt

42 423 0
Tài liệu tham khảo về lập trình hướng đối tượng với .NET & C#.Chương 3 Lớp và đối tượng ppt

Đ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

1 CHƯƠNG 3 2 Mục tiêu  Khai báo được lớp, đối tượng và sử dụng.  Biết cách vận dụng các từ khoá truy cập.  Xây dựng các phương thiết lập, sao chép.  Hàm hủy bỏ,cơ chế thu gom rác  Sử dụng các thành viên tĩnh.  Nạp chồng phương thức. 3 Nội dung  Định nghĩa lớp  Khai báo đối tượng và sử dụng  Phương thức thiết lập, sao chép  Phương thức hủy  Nạp chồng phương thức  Thành phần tĩnh  Nạp chồng toán tử 4 3.1. Định nghĩa lớp [phạm vi truy nhập:]: Là khả năng truy nhập thành phần dữ liệu (public, private, internal, protected, internal protected). [thuộc tính]: có thể là static [phạm vi truy nhập][Thuộc tính] class <tên lớp> { // Khai báo các thuộc tính của lớp // Khai báo các phương thức của lớp } 5 Phạm vi truy nhập Có thể được truy xuất bởi bất cứ phương thức của bất kỳ lớp nào khác public Chỉ có thể truy xuất bởi các phương thức của chính lớp đó private Có thể được truy xuất bởi các phương thức của chính lớp đó và các lớp dẫn xuất (derived) từ nó protected Có thể được truy xuất bởi các phương thức của lớp đó, lớp dẫn xuất từ lớp đó và các lớp trong cùng Assembly với nó internal protected Có thể được truy xuất bởi các phương thức của các lớp trong cùng Assembly internal 6 Ví dụ định nghĩa lớp 7 Lớp lồng nhau public class Class1 { // khai báo thuộc tính class1 // khai báo các phương thức class1 public class Class2 { // khai báo thuộc tính class2 // khai báo các phương thức class2 } } 8 3.2. Khai báo đối tượng và sử dụng  Đối tượng là biến kiểu tham chiếu, không phải tham trị. • Biến đối tượng không chứa giá trị của đối tượng • Biến chứa địa chỉ của đối tượng được tạo trong bộ nhớ Heap <tên lớp> <tên đối tượng> = new <tên lớp> ([các giá trị khởi tạo nếu có])  Sử dụng từ khóa “new” 9 Ví dụ 10 Truy nhập phương thức <tên đối tượng>. <tên phương thức> ([danh sách các đối số nếu có]) [...]... Truy n tham s cho phương th c M c đ nh, tham s truy n cho phương th c là ki u tham tr • M t b n sao c a tham s đó đư c t o ra • B n sao đó s b h y khi k t thúc phương th c • Giá tr c a tham s đư c truy n không thay đ i sau khi k t thúc phương th c public int AddValue(int value1, int value2) { return value1+value2; } 28 Truy n tham chi u C# h tr truy n tham chi u s d ng các t khóa • ref: truy n tham chi.. .3. 3 Phương th c thi t l p, sao chép Kh i t o m t đ i tư ng -> g i phương th c thi t l p (constructor) • Phương th c thi t l p m c đ nh: s đư c CLR cung c p n u ngư i l p trình không đ nh nghĩa • Phương th c thi t l p do ngư i l p trình đ nh nghĩa Phương th c thi t l p có ch c năng: • T o m t đ i tư ng c a l p và chuy n nó sang tr ng thái xác đ nh (valid... return value1+value2; } 28 Truy n tham chi u C# h tr truy n tham chi u s d ng các t khóa • ref: truy n tham chi u, bi n đư c tham chi u ph i đư c kh i gán trư c khi truy n • out: truy n tham chi u, bi n đư c tham chi u không c n kh i gán trư c khi truy n 29 Ví d (ref) 30 Ví d (out) 31 óng gói d li u thành các thu c tính (1) L i ích c a đóng gói d li u: • V n đ m b o m t giao di n đơn gi n cho các đ i tư... tính an toàn d khi gán li u, ki m tra đư c d li u 32 óng gói d li u thành các thu c tính (2) óng gói d li u thành thu c tính th c ch t là m t quá trình l y giá tr c a bi n thành ph n / thi t l p giá tr cho bi n thành ph n thông qua phương th c c a l p mà không qua đ i tư ng Trong C# cung c p kh năng khai báo hàm chung g i là thu c tính cho hàm get và set 33 Ví d L y giá tr c a thu c tính class time { private... thu c tính set { hour = value; } } } 34 Ví d Thi t l p giá tr cho thu c tính hour c a class time class Program { static void Main(string[] args) { time t=new time() ; t.Hour =10;// set t.Xuat(); int a = t.Hour; //set Console.WriteLine(a); Console.ReadKey(); } } 35 3. 5 N p ch ng phương th c Khi mu n có nhi u phương th c (hàm) cùng tên hay nhi u hàm v i tham s đ u vào khác nhau → s d ng k thu t ch ng... public void SomeMethod (int hour) { this.hour = hour; } 22 T khóa This (2) • Dùng làm tham s truy n vào cho m t phương th c c a đ i tư ng khác, cho phép phương th c đó có th tác đ ng đ n các thành ph n c a đ i tư ng hi n t i class myClass { public void Foo(OtherClass otherObject) { otherObject.Bar(this); } } 23 T khóa This (3) • S d ng cùng v i indexer (Tìm hi u thêm) • G i m t hàm t o t hàm t o khác c a... y) { … this.Draw( ); } 25 3. 4 Phương th c h y V m t cú pháp, phương th c h y trong C# gi ng v i C++ ~Class_Name( ) ~ Classname() { … } ≈ Class1.Finalize() { … base.Finalize(); } 26 H y đ i tư ng C# h tr cơ ch t đ ng thu gom rác (garbage collector) -> ngư i l p trình không ph i h y đ i tư ng m t cách tư ng minh N u đ i tư ng có s d ng các tài nguyên khác (files…) -> ngư i l p trình ph i t xây d ng phương... hàm v i tham s đ u vào khác nhau → s d ng k thu t ch ng hàm (Overloading) phân bi t đư c hai hàm v i nhau, ph i căn c vào m t trong hai y u t • Khác tên • Khác s tham s ho c ki u d li u c a tham s void myMethod(int p1); void myMethod(int p1, int p2); void myMethod(int p1, string s1); 36 ... ng phương th c thi t l p Phương th c thi t l p có tên trùng v i tên đ i tư ng, không có ki u d li u tr v và ph m vi truy nh p thư ng là public Có th có nhi u phương th c thi t l p trong cùng l p Phương th c thi t l p có th có tham s ho c không public Class_name() public Class_name( argument list ) 13 Ví d 14 Phương th c thi t l p sao chép Phương th c thi t l p sao chép kh i gán giá tr cho đ i tư ng m . thức thiết lập sao chép (1)  Tên hàm trùng với tên lớp • Khai báo public <tên lớp& gt; (< tên lớp > < ;đối tượng1 >) { gt1 = < ;đối tượng1 >.gt1; gt2 = < ;đối tượng1 >. gt2; } •. void saochep (<tên lớp& gt; < ;đối tượng1 >) { this.gt1 = < ;đối tượng1 >.gt1; this.gt2 = < ;đối tượng1 >).gt2; } • Sử dụng < ;đối tượng2 >.saochep (đối tượng1 ); . dụng <Tên _lớp& gt; < ;đối tượng2 > = new <Tên _lớp& gt; (đối tượng1 ); 19 Ví dụ 20 Tạo phương thức thiết lập sao chép (2)  Tên hàm trùng với tên lớp • Khai báo public void saochep (<tên

Ngày đăng: 10/08/2014, 13:21

Từ khóa liên quan

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

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

Tài liệu liên quan