Ngôn Ngữ Lập Trình(Tiếng Anh) C_5
Số trang: 35
Loại file: pdf
Dung lượng: 647.35 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
} public class Tester { static void Main() { Window[] winArray = new Window[3]; winArray[0] = new ListBox( 1, 2, “First List Box”); winArray[1] = new ListBox( 3, 4, “Second List Box”); winArray[2] = new Button( 5, 6); for( int i=0; i
Nội dung trích xuất từ tài liệu:
Ngôn Ngữ Lập Trình(Tiếng Anh) C_5 Ngôn Ngữ Lập Trình C#}public class Tester{ static void Main() { Window[] winArray = new Window[3]; winArray[0] = new ListBox( 1, 2, “First List Box”); winArray[1] = new ListBox( 3, 4, “Second List Box”); winArray[2] = new Button( 5, 6); for( int i=0; i Ngôn Ngữ Lập Trình C#các lớp trừu tượng mô tả một phương thức chung của tất cả các lớp được thực thi một cáchtrừu tượng.Ý tưởng của lớp trừu tượng Window thể hiện những thuộc tính chung cùng với những hành vicủa tất cả các Window, thậm chí ngay cả khi ta không có ý định tạo thể hiện của chính lớptrừu tượng Window.Ý nghĩa của một lớp trừu tượng được bao hàm trong chính từ “trừu tượng”. Lớp này dùng đểthực thi một “Window” trừu tượng, và nó sẽ được biểu lộ trong các thể hiện xác định củaWindows, như là Button, ListBox, Frame,...Các lớp trừu tượng không thể thực thi được, chỉ có những lớp xác thực tức là những lớp dẫnxuất từ lớp trừu tượng này mới có thể thực thi hay tạo thể hiện. Một sự thay đổi việc sử dụngtrừu tượng là định nghĩa một giao diện (interface), phần này sẽ được trình bày trong Chương8 nói về giao diện. Lớp cô lập (sealed class) Ngược với các lớp trừu tượng là các lớp cô lập. Một lớp trừu tượng được thiết kế cho cáclớp dẫn xuất và cung cấp các khuôn mẫu cho các lớp con theo sau. Trong khi một lớp cô lậpthì không cho phép các lớp dẫn xuất từ nó. Để khai báo một lớp cô lập ta dùng từ khóasealed đặt trước khai báo của lớp không cho phép dẫn xuất. Hầu hết các lớp thường đượcđánh dấu sealed nhằm ngăn chặn các tai nạn do sự kế thừa gây ra.Nếu khai báo của lớp Window trong ví dụ 5.3 được thay đổi từ khóa abstract bằng từ khóasealed (cũng có thể loại bỏ từ khóa trong khai báo của phương thức DrawWindow()). Chươngtrình sẽ bị lỗi khi biên dịch. Nếu chúng ta cố thử biên dịch chương trình thì sẽ nhận được lỗitừ trình biên dịch: ‘ListBox’ cannot inherit from sealed class ‘Window’Đây chỉ là một lỗi trong số những lỗi như ta không thể tạo một phương thức thành viênprotected trong một lớp khai báo là sealed.Gốc của tất cả các lớp: Lớp Object Tất cả các lớp của ngôn ngữ C# của bất cứ kiểu dữ liệu nào thì cũng được dẫn xuất từ lớpSystem.Object. Thú vị là bao gồm cả các kiểu dữ liệu giá trị.Một lớp cơ sở là cha trực tiếp của một lớp dẫn xuất. Lớp dẫn xuất này cũng có thể làm cơ sởcho các lớp dẫn xuất xa hơn nữa, việc dẫn xuất này sẽ tạo ra một cây thừa kế hay một kiếntrúc phân cấp. Lớp gốc là lớp nằm ở trên cùng cây phân cấp thừa kế, còn các lớp dẫn xuất thìnằm bên dưới. Trong ngôn ngữ C#, lớp gốc là lớp Object, lớp này nằm trên cùng trong câyphân cấp các lớp.Lớp Object cung cấp một số các phương thức dùng cho các lớp dẫn xuất có thể thực hiện việcphủ quyết. Những phương thức này bao gồm Equals() kiểm tra xem hai đối tượng có giốngnhau hay không. Phương thức GetType() trả về kiểu của đối tượng. Và phương thức ToString 142 Kế Thừa – Đa Hình Ngôn Ngữ Lập Trình C#() trả về một chuỗi thể hiện lớp hiện hành. Sau đây là bảng tóm tắt các phương thức của lớpObject. Phương thức Chức năng So sánh bằng nhau giữa hai đối tượng Equal( ) Cho phép những đối tượng cung cấp riêng GetHashCode( ) những hàm băm cho sử dụng tập hợp. Cung cấp kiểu của đối tượng GetType( ) Cung cấp chuỗi thể hiện của đối tượng ToString( ) Dọn dẹp các tài nguyên Finalize( ) Tạo một bản sao từ đối tượng. MemberwiseClone( ) Bảng 5.1: Tóm tắt các phương thức của lớp Object.Ví dụ 5.4 sau minh họa việc sử dụng phương thức ToString( ) thừa kế từ lớp Object. Ví dụ 5.4: Thừa kế từ Object.-----------------------------------------------------------------------------using System;public class SomeClass{ public SomeClass( int val ) { value = val; } // phủ quyết phương thức ToString của lớp Object public virtual string ToString() { return value.ToString(); } // biến thành viên private lưu giá trị private int value;}public class Tester{ static void Main( ) { int i = 5; Console.WriteLine(“The value of i is: {0}”, i.ToString()); SomeClass s = new SomeClass(7); Console.WriteLine(“The value of s is {0}”, s.ToString()); ...
Nội dung trích xuất từ tài liệu:
Ngôn Ngữ Lập Trình(Tiếng Anh) C_5 Ngôn Ngữ Lập Trình C#}public class Tester{ static void Main() { Window[] winArray = new Window[3]; winArray[0] = new ListBox( 1, 2, “First List Box”); winArray[1] = new ListBox( 3, 4, “Second List Box”); winArray[2] = new Button( 5, 6); for( int i=0; i Ngôn Ngữ Lập Trình C#các lớp trừu tượng mô tả một phương thức chung của tất cả các lớp được thực thi một cáchtrừu tượng.Ý tưởng của lớp trừu tượng Window thể hiện những thuộc tính chung cùng với những hành vicủa tất cả các Window, thậm chí ngay cả khi ta không có ý định tạo thể hiện của chính lớptrừu tượng Window.Ý nghĩa của một lớp trừu tượng được bao hàm trong chính từ “trừu tượng”. Lớp này dùng đểthực thi một “Window” trừu tượng, và nó sẽ được biểu lộ trong các thể hiện xác định củaWindows, như là Button, ListBox, Frame,...Các lớp trừu tượng không thể thực thi được, chỉ có những lớp xác thực tức là những lớp dẫnxuất từ lớp trừu tượng này mới có thể thực thi hay tạo thể hiện. Một sự thay đổi việc sử dụngtrừu tượng là định nghĩa một giao diện (interface), phần này sẽ được trình bày trong Chương8 nói về giao diện. Lớp cô lập (sealed class) Ngược với các lớp trừu tượng là các lớp cô lập. Một lớp trừu tượng được thiết kế cho cáclớp dẫn xuất và cung cấp các khuôn mẫu cho các lớp con theo sau. Trong khi một lớp cô lậpthì không cho phép các lớp dẫn xuất từ nó. Để khai báo một lớp cô lập ta dùng từ khóasealed đặt trước khai báo của lớp không cho phép dẫn xuất. Hầu hết các lớp thường đượcđánh dấu sealed nhằm ngăn chặn các tai nạn do sự kế thừa gây ra.Nếu khai báo của lớp Window trong ví dụ 5.3 được thay đổi từ khóa abstract bằng từ khóasealed (cũng có thể loại bỏ từ khóa trong khai báo của phương thức DrawWindow()). Chươngtrình sẽ bị lỗi khi biên dịch. Nếu chúng ta cố thử biên dịch chương trình thì sẽ nhận được lỗitừ trình biên dịch: ‘ListBox’ cannot inherit from sealed class ‘Window’Đây chỉ là một lỗi trong số những lỗi như ta không thể tạo một phương thức thành viênprotected trong một lớp khai báo là sealed.Gốc của tất cả các lớp: Lớp Object Tất cả các lớp của ngôn ngữ C# của bất cứ kiểu dữ liệu nào thì cũng được dẫn xuất từ lớpSystem.Object. Thú vị là bao gồm cả các kiểu dữ liệu giá trị.Một lớp cơ sở là cha trực tiếp của một lớp dẫn xuất. Lớp dẫn xuất này cũng có thể làm cơ sởcho các lớp dẫn xuất xa hơn nữa, việc dẫn xuất này sẽ tạo ra một cây thừa kế hay một kiếntrúc phân cấp. Lớp gốc là lớp nằm ở trên cùng cây phân cấp thừa kế, còn các lớp dẫn xuất thìnằm bên dưới. Trong ngôn ngữ C#, lớp gốc là lớp Object, lớp này nằm trên cùng trong câyphân cấp các lớp.Lớp Object cung cấp một số các phương thức dùng cho các lớp dẫn xuất có thể thực hiện việcphủ quyết. Những phương thức này bao gồm Equals() kiểm tra xem hai đối tượng có giốngnhau hay không. Phương thức GetType() trả về kiểu của đối tượng. Và phương thức ToString 142 Kế Thừa – Đa Hình Ngôn Ngữ Lập Trình C#() trả về một chuỗi thể hiện lớp hiện hành. Sau đây là bảng tóm tắt các phương thức của lớpObject. Phương thức Chức năng So sánh bằng nhau giữa hai đối tượng Equal( ) Cho phép những đối tượng cung cấp riêng GetHashCode( ) những hàm băm cho sử dụng tập hợp. Cung cấp kiểu của đối tượng GetType( ) Cung cấp chuỗi thể hiện của đối tượng ToString( ) Dọn dẹp các tài nguyên Finalize( ) Tạo một bản sao từ đối tượng. MemberwiseClone( ) Bảng 5.1: Tóm tắt các phương thức của lớp Object.Ví dụ 5.4 sau minh họa việc sử dụng phương thức ToString( ) thừa kế từ lớp Object. Ví dụ 5.4: Thừa kế từ Object.-----------------------------------------------------------------------------using System;public class SomeClass{ public SomeClass( int val ) { value = val; } // phủ quyết phương thức ToString của lớp Object public virtual string ToString() { return value.ToString(); } // biến thành viên private lưu giá trị private int value;}public class Tester{ static void Main( ) { int i = 5; Console.WriteLine(“The value of i is: {0}”, i.ToString()); SomeClass s = new SomeClass(7); Console.WriteLine(“The value of s is {0}”, s.ToString()); ...
Tìm kiếm theo từ khóa liên quan:
thủ thuật máy tính tài liệu công nghệ thông tin lập trình máy tính mẹo máy tính cài đặt máy tínhGợi ý tài liệu liên quan:
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 316 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 305 0 0 -
Thêm chức năng hữu dụng cho menu chuột phải trên Windows
4 trang 288 0 0 -
70 trang 251 1 0
-
Bài giảng Tin học lớp 11 bài 1: Giới thiệu ngôn ngữ lập trình C#
15 trang 237 0 0 -
Tổng hợp lỗi Win 8 và cách sửa
3 trang 232 0 0 -
Sửa lỗi các chức năng quan trọng của Win với ReEnable 2.0 Portable Edition
5 trang 213 0 0 -
Giáo trình Bảo trì hệ thống và cài đặt phần mềm
68 trang 207 0 0 -
Phần III: Xử lý sự cố Màn hình xanh
3 trang 204 0 0 -
UltraISO chương trình ghi đĩa, tạo ổ đĩa ảo nhỏ gọn
10 trang 203 0 0