... cho biến thành viên Tuy nhiên thân thuộc tính thật phương thức thành viên,và gọi phương thức thành viên khởi tạo tất biến thành viên Như ví dụ ta thiết lập thuộc tính truy cập hai biến thành viên ... trúc tạo stack Ngoài ra, new bỏ qua (sẽ bàn tiếp phần sau), khởi dựng không gọi Do ngôn ngữ C# yêu cầu phải có phép gán trước sử dụng, phải khởi tạo tường minh tất biến thành viên trước sử dụng ... giống biến kiểu liệu xây dựng sẵn (như int, long, char, ) tạo Ví dụ 7.2 sau minh họa việc tạo cấu trúc không sử dụng toán tử new Ghi chú: Đây khuyến cáo, ví dụ sau minh họa cách tạo cấu trúc...
... mà NET quy định? Ký hiệu toán tử? Bài tập Bài tập 1: Hãy tiếp tục phát triển lớp Fraction ví dụ chương cách thêm toán tử khác trừ, nhân, chia, so sánh Bài tập 2: Xây dựng lớp điểm không gian hai ... với kiểu liệu nhỏ, hành vi hay thuộc tính giống kiểu liệu xây dựng sẵn Cấu trúc có hiệu sử dụng chúng mảng nhớ (Chương 9) Tuy nhiên, cấu trúc hiệu sử dụng dạng tập hợp (collections) Tập hợp xây ... tạo cấu trúc cung cấp khởi tạo mặc định, giá trị thiết lập cho tất liệuthành viên hay giá trị mặc định tương ứng cho kiểu liệu (bảng 4.2) Nếu cung cấp khởi dựng phải khởi tạo tất trường cấu trúc...
... biên dịch gặp biểu thức: firstFraction + secondFraction trình biên dịch chuyển biểu thức vào: Fraction.operator+(firstFraction, secondFraction) Kết sau thực đối tượng Fraction trả về, trường hợp ... toán tử cách viết từ khóa operator theo sau toán tử nạp chồng Từ khóa operator bổ sung phương thức (method operator) Như vậy, để nạp chồng toán tử cộng (+) viết operator + Khi viết: Fraction ... (overloaded) toán tử đó, giống nạp chồng phương thức thành viên Do đó, để nạp chồng toán tử cộng (+) viết sau: public static Fraction operator + ( Fraction lhs, Fraction rhs) Trong toán tử ta có qui ước...
... phương thức thành viên nhất, phương thức Draw() Điều thú vị phương thức Draw() truy cập liệuthành viên private f.numerator f.denominator Hai viến thành viên private không cho phép truy cập FractionArtist ... lồng bên lớp Fraction Lưu ý hàm Main() khai báo thể lớp lồng bên trong, phải xác nhận tên lớp bên ngoài, tức lớp Fraction: FractionArtist Fraction.FractionArtist fa = new Fraction.FractionArtist(); ... thức Draw() phủ Draw() lớp sở gốc hình mà dẫn xuất Hãy xây dựng lớp sở lớp thực thi đa hình với phương thức Draw() Sau tạo lớp Tester với hàm Main() để thử nghiệm đa hình giống tập Bài tập 4:...
... tượng có kiểu liệu khác, InvalidCastException phát sinh Các lớp lồng Các lớp chứa thành viên, thành viên lớp khác có kiểu người dùng định nghĩa (user-defined type) Do vậy, lớp Button có thành viên ... phương thức ToString( ) kiểu liệu int ví dụ 5.4 Boxing thực ngầm định Boxing chuyển đổi ngầm định kiểu liệu giá trị sang kiểu liệu tham chiếu đối tượng Boxing giá trị cách tạo thể hiển đối tượng ... phương thức ToString() lớp Object Boxing Unboxing liệu Boxing unboxing xử lý cho phép kiểu liệu giá trị (như int, long, ) đối xử kiểu liệu tham chiếu (các đối tượng) Một giá trị đưa vào bên đối tượng,...
... 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
... 5, ); win.DrawWindow(); lb.DrawWindow(); b.DrawWindow(); Window[] winArray = new Window[3]; winArray[0] = new Window( 1, ); winArray[1] = new ListBox( 3, 4, “List box is array”); winArray[2] = ... Window[] winArray = new Window[3]; winArray[0] = new Window( 1, ); winArray[1] = new ListBox( 3, 4, “List box is array”); winArray[2] = new Button( 5, ); Chuyện xảy gọi phương thức DrawWindow() ... listbox: Stand alone list box Drawing a button at 5: Window: drawing Window at 1: Window: drawing window at 3: Writing string to the listbox: List box is array Drawing a button at 5: ...
... CLR Thông thường, khối tập hợp tậptin vật lý lưu trữ thư mục bao gồm tậptin tài nguyên, chương trình thực thi theo ngôn ngữ IL, Từ khóa internal protected với cho phép thành viên khối assembly ... DrawWindow() lớp ListBox làm ẩn thay phương thức DrawWindow lớp sở Window Khi gọi phương thức DrawWindow đối tượng lớp ListBox phương thức ListBox.DrawWindow() thực hiện, phương thức Window.DrawWindow() ... thiết kế giống internal hay protected Các lớp thành viên lớp thiết kế với mức độ truy xuất Một lớp thường có mức độ truy xuất mở rộng cách thành viên lớp, thành viên mức độ truy xuất thường có...
... lớp Object Boxing Unboxing liệu Boxing thực ngầm định Unboxing phải thực tường minh Các lớp lồng Câu hỏi & tập Trong chương trước trình bày cách tạo kiểu liệu việc xây dựng lớp đối tượng ... kiểu liệu việc xây dựng lớp đối tượng Tiếp theo chương đưa sâu vào mối quan hệ đối tượng giới thực cách mô hình hóa quan hệ xây dựng chương trình Chương giới thiệu khái niệm đặc biệt hóa (specialization) ... niệm quan trọng lập trình hướng đối tượng Khái niệm cho phép thể lớp có liên hệ với xử lý theo cách tổng quát Cuối phần trình bày lớp cô lập (sealed class) không đặt biệt hóa, hay lớp trừu tượng...
... cho biến thành viên Tuy nhiên thân thuộc tính thật phương thức thành viên,và gọi phương thức thành viên khởi tạo tất biến thành viên Như ví dụ ta thiết lập thuộc tính truy cập hai biến thành viên ... trúc tạo stack Ngoài ra, new bỏ qua (sẽ bàn tiếp phần sau), khởi dựng không gọi Do ngôn ngữ C# yêu cầu phải có phép gán trước sử dụng, phải khởi tạo tường minh tất biến thành viên trước sử dụng ... giống biến kiểu liệu xây dựng sẵn (như int, long, char, ) tạo Ví dụ 7.2 sau minh họa việc tạo cấu trúc không sử dụng toán tử new Ghi chú: Đây khuyến cáo, ví dụ sau minh họa cách tạo cấu trúc...
... mà NET quy định? Ký hiệu toán tử? Bài tập Bài tập 1: Hãy tiếp tục phát triển lớp Fraction ví dụ chương cách thêm toán tử khác trừ, nhân, chia, so sánh Bài tập 2: Xây dựng lớp điểm không gian hai ... với kiểu liệu nhỏ, hành vi hay thuộc tính giống kiểu liệu xây dựng sẵn Cấu trúc có hiệu sử dụng chúng mảng nhớ (Chương 9) Tuy nhiên, cấu trúc hiệu sử dụng dạng tập hợp (collections) Tập hợp xây ... tạo cấu trúc cung cấp khởi tạo mặc định, giá trị thiết lập cho tất liệuthành viên hay giá trị mặc định tương ứng cho kiểu liệu (bảng 4.2) Nếu cung cấp khởi dựng phải khởi tạo tất trường cấu trúc...
... biên dịch gặp biểu thức: firstFraction + secondFraction trình biên dịch chuyển biểu thức vào: Fraction.operator+(firstFraction, secondFraction) Kết sau thực đối tượng Fraction trả về, trường hợp ... toán tử cách viết từ khóa operator theo sau toán tử nạp chồng Từ khóa operator bổ sung phương thức (method operator) Như vậy, để nạp chồng toán tử cộng (+) viết operator + Khi viết: Fraction ... (overloaded) toán tử đó, giống nạp chồng phương thức thành viên Do đó, để nạp chồng toán tử cộng (+) viết sau: public static Fraction operator + ( Fraction lhs, Fraction rhs) Trong toán tử ta có qui ước...
... phương thức thành viên nhất, phương thức Draw() Điều thú vị phương thức Draw() truy cập liệuthành viên private f.numerator f.denominator Hai viến thành viên private không cho phép truy cập FractionArtist ... lồng bên lớp Fraction Lưu ý hàm Main() khai báo thể lớp lồng bên trong, phải xác nhận tên lớp bên ngoài, tức lớp Fraction: FractionArtist Fraction.FractionArtist fa = new Fraction.FractionArtist(); ... thức Draw() phủ Draw() lớp sở gốc hình mà dẫn xuất Hãy xây dựng lớp sở lớp thực thi đa hình với phương thức Draw() Sau tạo lớp Tester với hàm Main() để thử nghiệm đa hình giống tập Bài tập 4:...
... tượng có kiểu liệu khác, InvalidCastException phát sinh Các lớp lồng Các lớp chứa thành viên, thành viên lớp khác có kiểu người dùng định nghĩa (user-defined type) Do vậy, lớp Button có thành viên ... phương thức ToString( ) kiểu liệu int ví dụ 5.4 Boxing thực ngầm định Boxing chuyển đổi ngầm định kiểu liệu giá trị sang kiểu liệu tham chiếu đối tượng Boxing giá trị cách tạo thể hiển đối tượng ... phương thức ToString() lớp Object Boxing Unboxing liệu Boxing unboxing xử lý cho phép kiểu liệu giá trị (như int, long, ) đối xử kiểu liệu tham chiếu (các đối tượng) Một giá trị đưa vào bên đối tượng,...
... 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
... 5, ); win.DrawWindow(); lb.DrawWindow(); b.DrawWindow(); Window[] winArray = new Window[3]; winArray[0] = new Window( 1, ); winArray[1] = new ListBox( 3, 4, “List box is array”); winArray[2] = ... Window[] winArray = new Window[3]; winArray[0] = new Window( 1, ); winArray[1] = new ListBox( 3, 4, “List box is array”); winArray[2] = new Button( 5, ); Chuyện xảy gọi phương thức DrawWindow() ... listbox: Stand alone list box Drawing a button at 5: Window: drawing Window at 1: Window: drawing window at 3: Writing string to the listbox: List box is array Drawing a button at 5: ...
... CLR Thông thường, khối tập hợp tậptin vật lý lưu trữ thư mục bao gồm tậptin tài nguyên, chương trình thực thi theo ngôn ngữ IL, Từ khóa internal protected với cho phép thành viên khối assembly ... DrawWindow() lớp ListBox làm ẩn thay phương thức DrawWindow lớp sở Window Khi gọi phương thức DrawWindow đối tượng lớp ListBox phương thức ListBox.DrawWindow() thực hiện, phương thức Window.DrawWindow() ... thiết kế giống internal hay protected Các lớp thành viên lớp thiết kế với mức độ truy xuất Một lớp thường có mức độ truy xuất mở rộng cách thành viên lớp, thành viên mức độ truy xuất thường có...
... lớp Object Boxing Unboxing liệu Boxing thực ngầm định Unboxing phải thực tường minh Các lớp lồng Câu hỏi & tập Trong chương trước trình bày cách tạo kiểu liệu việc xây dựng lớp đối tượng ... kiểu liệu việc xây dựng lớp đối tượng Tiếp theo chương đưa sâu vào mối quan hệ đối tượng giới thực cách mô hình hóa quan hệ xây dựng chương trình Chương giới thiệu khái niệm đặc biệt hóa (specialization) ... niệm quan trọng lập trình hướng đối tượng Khái niệm cho phép thể lớp có liên hệ với xử lý theo cách tổng quát Cuối phần trình bày lớp cô lập (sealed class) không đặt biệt hóa, hay lớp trừu tượng...