Bài giảng xây dựng lớp và giao diện - ThS. Nguyễn Duy Hải
lượt xem 3
download
"Bài giảng xây dựng lớp và giao diện - ThS. Nguyễn Duy Hải" cung cấp các kiến thức về khai báo lớp, hàm thành viên, thuộc tính, đa hình trong C#, constructor & destructor...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng xây dựng lớp và giao diện - ThS. Nguyễn Duy Hải
- ThS. Nguyễn Duy Hải
- Nội dung Khai báo lớp Constructor & destructor Hàm thành viên Thuộc tính Đa hình trong C# Down cast – up cast Abstract class Sealed class, nested class Interface 2
- Tạo lớp trong C# Khai báo lớp [access modifier] class [: base class] { // class body } Access modifier: public, protected, internal, protected internal, private Nếu ko khai báo lớp cơ sở thì C# mặc định xem lớp cơ sở là object Lớp luôn là kiểu dữ liệu tham chiếu trong C# 3
- Khóa truy xuất cho class Một class chứa trong namespace chỉ có 2 khóa 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 assembly Assembly là tập mã đã được biên dịch sang .NET Một assembly chứa nội dung thực thi chương trình hay thư viện động Assembly có thể chứa trong nhiều file 4
- Các thành Lớp có phần thể chứa các của class phần sau Constructor và destructor Field và constant Method Property Indexer Event Chứa các kiểu khác (nested): class, struct, enumeration, interface và delegate 5
- Tạo đối tượng Tên lớp Tên đối tượng Khai báo HocSinh hs ; Trong thân lớp Giống như thuộc tính hs Trong thân phương thức Tương tự như biến Tạo đối tượng Khởi tạo Bằng lệnh new hs = new HocSinh(); hs 6
- Constructor Được gọi tự động khi tạo đối tượng Cùng tên với lớp Constructor ko tham số sẽ được tạo mặc định khi không có bất cứ constructor nào Cho phép overload constructor để tạo ra nhiều cách khởi tạo đối tượng Static constructor: ko tham số, ko access modifier, 7
- Constructor Constructor mặc định Không có tham số Khởi tạo thể hiện (đối tượng) khi chưa biết thông tin gì về nó Constructor sao ché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 Constructor khác 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ó 8
- Constructor class HocSinh { //... public HocSinh() { hoTen = “unknown"; Constructor mặc định namSinh = 1990; diemVan = diemToan = 0; } public HocSinh(HocSinh hs) { hoTen = hs.hoTen; namSinh = hs.namSinh; Constructor sao chép diemVan = hs.diemVan; diemToan = hs.diemToan; } public HocSinh(string ht) { hoTen = ht; Constructor khác } (tạo học sinh khi biết họ tên) } 9
- Constructor Khai báo private cho constructor sẽ ko cho phép tạo đối tượng Ko thể tạo thể hiện/obj 10
- Destructor Thực hiện nhiệm vụ “clean” khi đối tượng bị hủy Trùng tên lớp và có dấu “~” phía trước Không có tham số và access modifier Mỗi lớp chỉ có 1 destructor class HocSinh { //... ~HocSinh() { siSo--; } } 11
- Method Hàm, thủ tục khai báo trong class Hành vi giao tiếp với bên ngoài Static và non static public class CSharp { public CSharp ( ) { . . .} public static void StaticMethod( ) { . . .} public void NonStaticMethod( ) { . . .} } public class Tester() { CSharp cs = new CSharp( ); cs.NonStaticMethod( ); CSharp.StaticMethod( ); Truy cập qua thể hiện: cs } Truy cập qua tên lớp: CSharp 12
- Method namespace QuanLyHocSinh { class HocSinh Đối số Kiểu trả về Tên { //... Phần khai báo static public bool KiemTraDiem( double diem ) { bool kq = (0
- Method namespace QuanLyHocSinh { class HocSinh Không có { đối số Kiểu trả về //... public void Xuat( ) { Console.WriteLine("Ho ten : "+hoTen); Console.WriteLine("Nam sinh : "+namSinh); Console.WriteLine("Diem van : "+diemVan); Console.WriteLine("Diem toan: "+diemToan); } } } Các câu lệnh 14
- Method - overload static void ThongBao( double d ) { Console.WriteLine("Day la ThongBao(double)"); } static void ThongBao( int i ) { Console.WriteLine("Day la ThongBao(int)"); } static void ThongBao( int i1, int i2 ) { Console.WriteLine("Day la ThongBao(int, int)"); } static void ThongBao( HocSinh hs ) { Console.WriteLine("Day la ThongBao(HocSinh)"); } Các phương thức cùng có tên là ThongBao Các phương có tham số đầu vào khác nhau 15
- Method - overload ThongBao(40); Day la ThongBao(int) ThongBao(6.8); Day la ThongBao(double) ThongBao(new HocSinh()); Day la ThongBao(HocSinh) ThongBao(9,5); Day la ThongBao(int, int) 16
- Method – virtual method Tên lớp con Tên lớp cha class LopCon:LopCha class HocSinhVan: HocSinh { { //... } } LopCha HocSinh LopCon HocSinhVan Tạo ra lớp HocSinhVan (học sinh chuyên văn) kế thừa từ lớp HocSinh 17
- Method – virtual method Phương thức ảo: Khai báo từ khoá virtual Cho phép lớp con có thể thay thế (override) Đây chính là thực thi tính đa hình Một phương thức của lớp cơ sở (lớp cha) có thể được thực thi khác nhau ở lớp dẫn xuất (lớp con) 18
- Method – virtual method Phương thức tính điểm trung bình của lớp HocSinh class HocSinh { //... public virtual float TinhDiemTrungBinh() { float kq = (diemVan + diemToan) / 2; return kq; } } 19
- Method – virtual method Lớp HocSinhVan phủ quyết lại cách tính điểm trung bình của class lớp HocSinh HocSinhVan:HocSinh { //... public override double TinhDiemTrungBinh() { double kq = (diemVan * 2 + diemToan) / 3; return kq; } } 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng - Chương 2: Thiết kế lớp
36 p | 159 | 23
-
Bài giảng: Xây dựng lớp và giao diện
79 p | 95 | 11
-
Đề cương bài giảng Thiết kế ứng dụng với ASP.NET - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM
156 p | 32 | 9
-
Bài giảng Lập trình website ASP.NET: Phần 2 - Trường ĐH Công nghiệp Quảng Ninh
62 p | 25 | 8
-
Bài giảng Lập trình Windows - Chương 3: Lập trình C++ trên Windows (2016)
16 p | 74 | 8
-
Bài giảng Lập trình hướng đối tượng – Bài 05: Các kỹ thuật xây dựng lớp và sử dụng đối tượng
89 p | 40 | 6
-
Bài giảng Phương pháp lập trình hướng đối tượng: Bài tập đối tượng 1
5 p | 97 | 5
-
Bài giảng Lập trình NET và C#: Lecture 4 - TS Đào Nam Anh
22 p | 77 | 5
-
Bài giảng Công nghệ Java: Chương 4 - Trần Quang Diệu
68 p | 50 | 5
-
Bài giảng Lập trình hướng đối tượng: Bài 5 - Các kỹ thuật xây dựng lớp và sử dụng đối tượng
79 p | 28 | 4
-
Bài giảng Lập trình hướng đối tượng - Bài 3: Xây dựng lớp
71 p | 51 | 4
-
Bài giảng Lập trình hướng đối tượng - Bài 3: Đóng gói và xây dựng lớp, tạo và sử dụng đối tượng
0 p | 72 | 3
-
Bài giảng Xử lý ngoại lệ
33 p | 61 | 3
-
Bài giảng Lập trình hướng đối tượng: Chương 4.1 - ĐH Bách Khoa Hà Nội
22 p | 27 | 2
-
Bài giảng Lập trình hướng đối tượng - Bài 4: Các kỹ thuật xây dựng lớp và sử dụng đối tượng
0 p | 75 | 2
-
Bài giảng Lập trình hướng đối tượng: Bài 3 - ThS. Trịnh Thành Trung
71 p | 32 | 2
-
Bài giảng Lập trình hướng đối tượng: Bài 4 - Nguyễn Khanh Văn
0 p | 49 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn