Bài giảng lập trình DOT NET - Bài 5 Hướng đối tượng C# (tt) doc

33 1.4K 0
Bài giảng lập trình DOT NET - Bài 5 Hướng đối tượng C# (tt) doc

Đ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

Hướng đối tượng C# (tt) Bài Yêu cầu     Hiểu khái niệm kế thừa, đa hình Tầm quan vấn đề LTHĐT Biết cách thực thi kế thừa, sử dụng kiểu đa hình khác Xây dựng lớp cài đặt giao diện, thực thi giao diện khác Một số giao diện chuẩn thư viện C# Đặc biệt hóa, tổng quát hóa   Lớp thể lớp không tồn khối, chúng tồn mạng lưới phụ thuộc quan hệ lẫn Đặc biệt hóa tổng quát hóa hai mối quan hệ đối ngẫu phân cấp với Đặc biệt hóa, tổng quát hóa Ví dụ: Ta nói xe máy, ơtơ trường hợp đặc biệt xe, vì: ngồi đặc điểm xe nói chung, xe máy ơtơ cịn có đặc điểm riêng Tương tự Honda, Suzuki, Yamaha trường hợp đặc biệt xe máy BMW, Nissan, Toyota, Honda, Huyndai trường hợp đặc biệt xe ôtô Sự kế thừa (inheritance) Trong C# quan hệ đặc biệt hóa thực thi cách sử dụng kế thừa Đây cách chung nhất, tự nhiên để thực thi quan hệ Ta nói xe máy, ơtơ kế thừa hay dẫn xuất từ lớp Xe Lớp Xe coi lớp sở, xe máy, ôtô coi lớp dẫn xuất Thực thi kế thừa Để tạo lớp dẫn xuất từ lớp ta thêm dấu hai chấm vào sau tên lớp trước tên lớp sở public class XeMay:Xe public class Oto:Xe Lớp dẫn xuất kế thừa tất phương thức, biến thành viên 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 Sử dụng lớp dẫn xuất namespace Example { public class Xe { private string name; public Xe(string name) { this.name = name; } public void Who() {Console.WriteLine("Toi la mot chiec xe"); } } Sử dụng lớp dẫn xuất public class XeMay : Xe { private int sobanh; public XeMay(string name, int sobanh) : base(name) { this.sobanh = sobanh; } public new void Who() { base.Who(); Console.WriteLine("Xe may {0} banh",sobanh); } } } Sử dụng lớp dẫn xuất class Tester { static void Main() { Xe xe1=new Xe(“Xe”); xe1.Who(); XeMay xe2=new XeMay(“Xe may”,2); xe2.Who(); } } Gọi phương thức khởi dựng Các lớp không kế thừa phương thức khởi dựng lớp sở, lớp dẫn xuất phải thực thi phương thức khởi dựng riêng Chỉ sử dụng phương thức khởi dựng lớp sở thông qua việc gọi tường minh public XeMay(string name, int sobanh) : base(name) Lớp trừu tượng (abstract) class Tester { static void Main() { XeMay xe2=new XeMay(“Xe may”,2); xe2.Who(); Xe[] xeArr=new Xe[3]; xeArr[0]=new Xe(“Xe”); xeArr[1]=new XeMay(“Xe may1”,2); xeArr[2]=new Xemay(“Xe may2”,2); for (int i=0;i= lbt.strings.Length) return false; else return true;} Giao diện IEnumerable public void Reset() { index = -1; } public object Current { get { return( lbt[index]); } } } public IEnumerator GetEnumerator() { return (IEnumerator) new ListBoxEnumerator(this); } Giao diện IEnumerable private string[] strings; private int ctr = 0; public ListBoxTest (params string[] initStr) { strings = new string[10]; foreach (string s in initStr) { strings[ctr++] = s; } } public string this[int index] {get { if ( index < || index >= strings.Length) { … } return strings[index]; } set { strings[index] = value; } } Bài tập Xây dựng giao diện IDisplay khai báo thuộc tính Name kiểu chuỗi Viết hai lớp Dog Cat thực thi giao diện IDisplay, cho biết thuộc tính Name tên đối tượng ... thực thi cách trừu tượng Lớp cô lập (sealed class) Ngược với lớp trừu tượng lớp cô lập Một lớp trừu tượng thiết kế cho lớp dẫn xuất cung cấp khuôn mẫu cho lớp theo sau Trong lớp lập khơng cho phép... xeArr[i].Who(); } } Lớp trừu tượng (abstract) Những lớp trừu tượng khơng có thực thi bản; chúng thể ý tưởng trừu tượng, điều thiết lập giao ước cho tất lớp dẫn xuất Các lớp trừu tượng mô tả phương thức... chất VD:thơng điệp “vẽ hình” gởi đến hai đối tượng hình hộp hình trịn Trong hai đối tượng có chung phương thức vẽ hình, nhiên tuỳ theo thời điểm mà đối tượng nhận thơng điệp, hình tương ứng vẽ lên

Ngày đăng: 27/06/2014, 03:20

Từ khóa liên quan

Mục lục

  • Hướng đối tượng C# (tt)

  • Yêu cầu

  • Đặc biệt hóa, tổng quát hóa

  • Slide 4

  • Sự kế thừa (inheritance)

  • Thực thi kế thừa

  • Sử dụng lớp dẫn xuất

  • Slide 8

  • Slide 9

  • Gọi phương thức khởi dựng

  • Đa hình (polymorphism)

  • Phương thức đa hình

  • Slide 13

  • Slide 14

  • Slide 15

  • Lớp trừu tượng (abstract)

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

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

Tài liệu liên quan