P3- Lop va giao dien ppt

47 228 0
P3- Lop va giao dien 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

Xây d ng l p và giao ự ớ Xây d ng l p và giao ự ớ di n ệ di n ệ ThS. Nguyễn Hà Giang ThS. Nguyễn Hà Giang Hutech Hutech 2 Nguyen Ha Giang - 2008 Nội dung Nội dung Khai báo lớp Khai báo lớp Constructor & destructor Constructor & destructor Hàm thành viên Hàm thành viên Thuộc tính Thuộc tính Đa hình trong C# Đa hình trong C# Down cast – up cast Down cast – up cast Abstract class Abstract class Sealed class, nested class Sealed class, nested class Interface Interface 3 Nguyen Ha Giang - 2008 Tạo lớp trong C# Tạo lớp trong C# Khai báo lớp Khai báo lớp Access modifier: Access modifier: public, protected, internal, protected internal, public, protected, internal, protected internal, private private Nếu ko khai báo lớp cơ sở thì C# mặc định xem Nếu ko khai báo lớp cơ sở thì C# mặc định xem lớp cơ sở là object lớp cơ sở là object Lớp luôn là kiểu dữ liệu tham chiếu trong C# Lớp luôn là kiểu dữ liệu tham chiếu trong C# [access modifier] class <class name> [: base class] { // class body } 4 Nguyen Ha Giang - 2008 Khóa truy xuất cho class Khóa truy xuất cho class Một class chứa trong namespace chỉ có 2 Một class chứa trong namespace chỉ có 2 khóa truy xuất khóa truy xuất Public: cho phép bên ngoài assembly truy xuất Public: cho phép bên ngoài assembly truy xuất Internal: chỉ cho phép sử dụng bên trong Internal: chỉ cho phép sử dụng bên trong assembly assembly Assembly là tập mã đã được biên dịch Assembly là tập mã đã được biên dịch sang .NET sang .NET Một assembly chứa nội dung thực thi chương Một assembly chứa nội dung thực thi chương trình hay thư viện động trình hay thư viện động Assembly có thể chứa trong nhiều file Assembly có thể chứa trong nhiều file 5 Nguyen Ha Giang - 2008 Các thành phần của class Các thành phần của class Lớp có thể chứa các phần sau Lớp có thể chứa các phần sau Constructor và destructor Constructor và destructor Field và constant Field và constant Method Method Property Property Indexer Indexer Event Event Chứa các kiểu khác (nested): class, struct, Chứa các kiểu khác (nested): class, struct, enumeration, interface và delegate enumeration, interface và delegate 6 Nguyen Ha Giang - 2008 Tạo đối tượng Tạo đối tượng Khai báo Khai báo Trong thân lớp Trong thân lớp Giống như thuộc tính Giống như thuộc tính Trong thân phương thức Trong thân phương thức Tương tự như biến Tương tự như biến Khởi tạo Khởi tạo Bằng lệnh new Bằng lệnh new HocSinh hs ; Tên lớp Tên đối tượng hs = new HocSinh(); <HocSinh> <HocSinh> hs hs Tạo đối tượng 7 Nguyen Ha Giang - 2008 Constructor Constructor Được gọi tự động khi tạo đối tượng Được gọi tự động khi tạo đối tượng Cùng tên với lớp Cùng tên với lớp Constructor ko tham số sẽ được tạo mặc Constructor ko tham số sẽ được tạo mặc định khi không có bất cứ constructor nào định khi không có bất cứ constructor nào Cho phép overload constructor để tạo ra Cho phép overload constructor để tạo ra nhiều cách khởi tạo đối tượng nhiều cách khởi tạo đối tượng Static constructor: ko tham số, ko access Static constructor: ko tham số, ko access modifier, modifier, 8 Nguyen Ha Giang - 2008 Constructor Constructor Constructor mặc định Constructor mặc định Không có tham số Không có tham số Khởi tạo thể hiện (đối tượng) khi chưa biết Khởi tạo thể hiện (đối tượng) khi chưa biết thông tin gì về nó thông tin gì về nó Constructor sao chép Constructor sao chép Tham số vào là đối tượng cùng lớp Tham số vào là đối tượng cùng lớp Tạo ra obj như bản sao của obj đầu vào Tạo ra obj như bản sao của obj đầu vào Constructor khác Constructor khác Có một hay nhiều tham số vào Có một hay nhiều tham số vào Tạo obj khi biết một số thông tin nào về nó Tạo obj khi biết một số thông tin nào về nó 9 Nguyen Ha Giang - 2008 Constructor Constructor class HocSinh { // public HocSinh() { hoTen = “unknown"; namSinh = 1990; diemVan = diemToan = 0; } public HocSinh(HocSinh hs) { hoTen = hs.hoTen; namSinh = hs.namSinh; diemVan = hs.diemVan; diemToan = hs.diemToan; } public HocSinh(string ht) { hoTen = ht; } } Constructor mặc định Constructor mặc định Constructor sao chép Constructor sao chép Constructor khác Constructor khác (tạo học sinh khi biết họ tên) (tạo học sinh khi biết họ tên) 10 Nguyen Ha Giang - 2008 Constructor Constructor Khai báo private cho constructor sẽ ko cho Khai báo private cho constructor sẽ ko cho phép tạo đối tượng phép tạo đối tượng Ko thể tạo thể hiện/obj [...]... (0 . class LopCon:LopCha { } Tên lớp con Tên lớp cha class HocSinhVan: HocSinh { // } Tạo ra lớp HocSinhVan (học sinh chuyên văn) kế thừa từ lớp HocSinh LopCha LopCon HocSinh HocSinhVan 18 Nguyen. “unknown"; namSinh = 1990; diemVan = diemToan = 0; } public HocSinh(HocSinh hs) { hoTen = hs.hoTen; namSinh = hs.namSinh; diemVan = hs.diemVan; diemToan = hs.diemToan; } . float kq = (diemVan + diemToan) / 2; return kq; } } 20 Nguyen Ha Giang - 2008 Method – virtual method Method – virtual method Lớp HocSinhVan phủ quyết lại cách tính Lớp HocSinhVan phủ quyết

Ngày đăng: 10/08/2014, 02:22

Mục lục

  • Xây dựng lớp và giao diện

  • Tạo lớp trong C#

  • Khóa truy xuất cho class

  • Các thành phần của class

  • Kiểm tra trước khi down-cast

  • Abstract class - example

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

Tài liệu liên quan