... 50 , 10 0 Loc1 location: 50 , 10 0 Lúc Location đốitượng tham chiếu nên truyền vào phương thức myFunc() việc gán giá trị cho x y điều làm thay đổiđốitượng Location Gọi khởi dựng mặc định Như đề ... sử dụng chúng cấu trúc Tạo cấu trúc không gọi new Bởi Location cấu trúc lớp, thể tạo stack Trong vídụ 7 .1 toán tử new gọi: Location loc1 = new Location( 200, 300); kết đốitượng Location tạo ... loc1; loc1.xVal = 10 0; loc1.yVal = 250 ; Console.WriteLine(“loc1”); } } Trong vídụ 7.2 khởi tạo biến thành viên cách trực tiếp, trước gọi phương thức loc1...
... 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 ... cấu trúc> [: danh sách giao diện] { [thành viên cấu trúc] 1 65 Cấu Trúc Ngôn Ngữ Lập Trình C# } Vídụ 7 .1 sau minh họa cách tạo cấu trúc Kiểu Location thể điểm không gian hai chiều Lưu ý cấu trúc ... thảo luận kiểu liệu tham chiếu kiểu liệu giá trị) Do cấu trúc thường dùng để thể hiển đốitượng không đòi hỏi ngữ nghĩa tham chiếu, hay lớp nhỏ mà đặt vào stack có lợi đặt nhớ heap Một nhận xét...
... secondFraction trình biên dịch chuyển biểu thức vào: Fraction.operator+(firstFraction, secondFraction) Kết sau thực đốitượng Fraction trả về, trường hợp phép gán thực để gán đốitượng Fraction ... Chồng Toán Tử 15 4 Ngôn Ngữ Lập Trình C# vỡ cách thể thông thường để sử dụng toán tử Hạn chế việc sử dụng tùy tiện nạp chồng toán tử cách sử dụng cách đặc trưng Ví dụ, hấp dẫn việc sử dụng nạp chồng ... sử dụng để kiểm tra kiểuđốitượng lúc chạy chương trình có tương thích với toán hạng trường hợp Fraction Do o Fraction nên toán tử is trả true Toán tử chuyển đổi C# cho phép chuyển đổi từ kiểu...
... để tạo mảng đốitượng Xe, đưa đốitượng cụ thể vào mảng đốitượng Xe, sau cho lặp đốitượng mảng để tự giới thiệu tên (bằng cách gọi hàm Who() đối tượng) Bài tập 3: Xây dựng lớp đốitượnghình ... hai vídụ trình này? Bài tập Bài tập 1: Hãy mở rộng vídụ chương xây dựng thêm đốitượng khác kế thừa lớp Window như: Label, TextBox, Scrollbar, toolbar, menu, Bài tập 2: Hãy xây dựng lớp đốitượng ... 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ậm chí lớp FractionArtist public, phạm vị lớp nằm bên lớp Fraction...
... trị đưa vào đốitượng cách tự động ngầm định Ví dụ, gán kiểudư liệu kiểu nguyên int vào biến kiểu Object (điều hoàn toàn hợp lệ kiểu int dẫn xuất từ lớp Object) giá trị đưa vào biến Object, ... định kiểu liệu giá trị sang kiểu liệu tham chiếu đốitượng Boxing giá trị cách tạo thể hiển đốitượng cần dùng chép giá trị vào đốitượngtạo Ta có hình vẽ sau minh họa trình Boxing số nguyên 14 4 ... Đa Hình1 45 Ngôn Ngữ Lập Trình C# Phải chắn đốitượng boxing kiểu giá trị đưa Sao chép giá trị từ thể hay đốitượng vào biến kịểu giá trị Heap Stack i 12 3 int i = 12 3; i o 12 3 boxed Int 12 3...
... trừu tượng sau: abstract public void Window Vídụ5. 3 sau minh họa việc tạo lớp Window trừu tượng phương thức trừu tượng DrawWindow() lớp Window Vídụ5. 3: Sử dụng phương thức lớp trừu tượng ... phương thức bao gồm Equals() kiểm tra xem hai đốitượng có giống hay không Phương thức GetType() trả kiểuđốitượngVà phương thức ToString 14 2 Kế Thừa – Đa Hình ... winArray [1] = new ListBox( 3, 4, “Second List Box”); winArray[2] = new Button( 5, 6); for( int i=0; i
... Trong phần thân vídụ5. 2, ta tạo ba đối tượng, đốitượng thứ Window, đốitượng thứ hai lớp ListBox đốitượng cuối lớp Button Sau ta thực việc gọi phương thức DrawWindow() cho đốitượng sau: Window ... trí đốitượng Window mảng Vàtương tự ta đặt đốitượng Button vào vị trí mảng đốitượng Window, Button Window Window[] winArray = new Window[3]; winArray[0] = new Window( 1, ); winArray [1] = new ... is array”); winArray[2] = new Button( 5, ); Chuyện xảy gọi phương thức DrawWindow() cho đốitượng mảng winArray for( int i = 0; i < ; i++) { winArray[i].DrawWindow(); 13 4 Kế Thừa – Đa Hình ...
... phiên phương thức lớp sở Lớp dẫn xuất tạo phương thức việc đánh dấu với từ khóa new Vídụ5.1 sau minh họa việc tạo sử dụng lớp sở dẫn xuất Vídụ5. 1: Sử dụng lớp dẫn xuất ... // tạođốitượng cho lớp sở Window w = new Window (5, 10 ); w.DrawWindow(); // tạođốitượng cho lớp dẫn xuất ListBox lb = new ListBox( 20, 10 , “Hello world!”); lb.DrawWindow(); } Kế Thừa – Đa Hình ... lớp sở Trong vídụ5. 1, phương thức 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 đốitượng lớp ListBox phương thức ListBox.DrawWindow()...
... & tập Trong chương trước trình bày cách tạokiểu liệu việc xây dựng lớp đốitượng Tiếp theo chương đưa sâu vào mối quan hệ đốitượng giới thực cách mô hình hóa quan hệ xây dựng chương trình Chương ... qua kế thừa (inheritance) 1 25 Kế Thừa – Đa Hình Ngôn Ngữ Lập Trình C# Khái niệm đa hình (polymorphism) trình bày chương 5, khái niệm quan trọng lập trình hướng đốitượng Khái niệm cho phép thể ... không đặt biệt hóa, hay lớp trừu tượng sử dụng đặc biệt hóa Lớp đốitượng Object gốc tất lớp thảo luận phần cuối chương Đặc biệt hóa tổng quát hóa Lớp thể lớp tức đốitượng không tồn khối, chúng tồn...
... 50 , 10 0 Loc1 location: 50 , 10 0 Lúc Location đốitượng tham chiếu nên truyền vào phương thức myFunc() việc gán giá trị cho x y điều làm thay đổiđốitượng Location Gọi khởi dựng mặc định Như đề ... sử dụng chúng cấu trúc Tạo cấu trúc không gọi new Bởi Location cấu trúc lớp, thể tạo stack Trong vídụ 7 .1 toán tử new gọi: Location loc1 = new Location( 200, 300); kết đốitượng Location tạo ... loc1; loc1.xVal = 10 0; loc1.yVal = 250 ; Console.WriteLine(“loc1”); } } Trong vídụ 7.2 khởi tạo biến thành viên cách trực tiếp, trước gọi phương thức loc1...
... 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 ... cấu trúc> [: danh sách giao diện] { [thành viên cấu trúc] 1 65 Cấu Trúc Ngôn Ngữ Lập Trình C# } Vídụ 7 .1 sau minh họa cách tạo cấu trúc Kiểu Location thể điểm không gian hai chiều Lưu ý cấu trúc ... thảo luận kiểu liệu tham chiếu kiểu liệu giá trị) Do cấu trúc thường dùng để thể hiển đốitượng không đòi hỏi ngữ nghĩa tham chiếu, hay lớp nhỏ mà đặt vào stack có lợi đặt nhớ heap Một nhận xét...
... secondFraction trình biên dịch chuyển biểu thức vào: Fraction.operator+(firstFraction, secondFraction) Kết sau thực đốitượng Fraction trả về, trường hợp phép gán thực để gán đốitượng Fraction ... sử dụng để kiểm tra kiểuđốitượng lúc chạy chương trình có tương thích với toán hạng trường hợp Fraction Do o Fraction nên toán tử is trả true Toán tử chuyển đổi C# cho phép chuyển đổi từ kiểu ... 6 .1 sau trình bày toán tử với biểu tượng toán tử tên phương thức thay toán tử Biểu tượng Tên phương thức thay + Add Tên toán tử Toán tử cộng - Subtract Toán tử trừ * Multiply Toán tử nhân 15 5 ...
... để tạo mảng đốitượng Xe, đưa đốitượng cụ thể vào mảng đốitượng Xe, sau cho lặp đốitượng mảng để tự giới thiệu tên (bằng cách gọi hàm Who() đối tượng) Bài tập 3: Xây dựng lớp đốitượnghình ... hai vídụ trình này? Bài tập Bài tập 1: Hãy mở rộng vídụ chương xây dựng thêm đốitượng khác kế thừa lớp Window như: Label, TextBox, Scrollbar, toolbar, menu, Bài tập 2: Hãy xây dựng lớp đốitượng ... 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ậm chí lớp FractionArtist public, phạm vị lớp nằm bên lớp Fraction...
... trị đưa vào đốitượng cách tự động ngầm định Ví dụ, gán kiểudư liệu kiểu nguyên int vào biến kiểu Object (điều hoàn toàn hợp lệ kiểu int dẫn xuất từ lớp Object) giá trị đưa vào biến Object, ... định kiểu liệu giá trị sang kiểu liệu tham chiếu đốitượng Boxing giá trị cách tạo thể hiển đốitượng cần dùng chép giá trị vào đốitượngtạo Ta có hình vẽ sau minh họa trình Boxing số nguyên 14 4 ... 12 3 object o=i; k 12 3 int k = (int)o; Hình5. 6: Unboxing sau thực Boxing Để thực unboxing thành công, đốitượng unboxing phải tham chiếu đến đối tượng, đốitượngtạo việc boxing giá trị với kiểu...
... trừu tượng sau: abstract public void Window Vídụ5. 3 sau minh họa việc tạo lớp Window trừu tượng phương thức trừu tượng DrawWindow() lớp Window Vídụ5. 3: Sử dụng phương thức lớp trừu tượng ... phương thức bao gồm Equals() kiểm tra xem hai đốitượng có giống hay không Phương thức GetType() trả kiểuđốitượngVà phương thức ToString 14 2 Kế Thừa – Đa Hình ... winArray [1] = new ListBox( 3, 4, “Second List Box”); winArray[2] = new Button( 5, 6); for( int i=0; i
... Trong phần thân vídụ5. 2, ta tạo ba đối tượng, đốitượng thứ Window, đốitượng thứ hai lớp ListBox đốitượng cuối lớp Button Sau ta thực việc gọi phương thức DrawWindow() cho đốitượng sau: Window ... trí đốitượng Window mảng Vàtương tự ta đặt đốitượng Button vào vị trí mảng đốitượng Window, Button Window Window[] winArray = new Window[3]; winArray[0] = new Window( 1, ); winArray [1] = new ... box is array”); winArray[2] = new Button( 5, ); Chuyện xảy gọi phương thức DrawWindow() cho đốitượng mảng winArray for( int i = 0; i < ; i++) { winArray[i].DrawWindow(); 13 4 Kế Thừa – Đa Hình Ngôn...
... phiên phương thức lớp sở Lớp dẫn xuất tạo phương thức việc đánh dấu với từ khóa new Vídụ5.1 sau minh họa việc tạo sử dụng lớp sở dẫn xuất Vídụ5. 1: Sử dụng lớp dẫn xuất ... Main() { // tạođốitượng cho lớp sở Window w = new Window (5, 10 ); w.DrawWindow(); // tạođốitượng cho lớp dẫn xuất ListBox lb = new ListBox( 20, 10 , “Hello world!”); lb.DrawWindow(); } 13 0 Kế Thừa ... lớp sở Trong vídụ5. 1, phương thức 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 đốitượng lớp ListBox phương thức ListBox.DrawWindow()...
... & tập Trong chương trước trình bày cách tạokiểu liệu việc xây dựng lớp đốitượng Tiếp theo chương đưa sâu vào mối quan hệ đốitượng giới thực cách mô hình hóa quan hệ xây dựng chương trình Chương ... qua kế thừa (inheritance) 1 25 Kế Thừa – Đa Hình Ngôn Ngữ Lập Trình C# Khái niệm đa hình (polymorphism) trình bày chương 5, khái niệm quan trọng lập trình hướng đốitượng Khái niệm cho phép thể ... không đặt biệt hóa, hay lớp trừu tượng sử dụng đặc biệt hóa Lớp đốitượng Object gốc tất lớp thảo luận phần cuối chương Đặc biệt hóa tổng quát hóa Lớp thể lớp tức đốitượng không tồn khối, chúng tồn...