BÀI GIẢNG MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
lượt xem 102
download
Khai báo lớp 2. Tạo đối tượng sử dụng lớp 3. Sử dụng các thành viên static (phương thức và thuộc tính) 4. Truyền tham số kiểu ref, out, params
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: BÀI GIẢNG MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 1. Khai báo lớp 2. Tạo đối tượng sử dụng lớp 3. Sử dụng các thành viên static (phương thức và thuộc tính) 4. Truyền tham số kiểu ref, out, params 5. Nạp chồng phương thức, toán tử 6. Đóng gói dữ liệu với thuộc tính, các thuộc tính chỉ đọc 7. Indexer 8. Thực thi giao diện khả so sánh để sắp xếp một mảng đối tượng thuộc một lớp bất kỳ 1
- Khái niệm lớp - Lớp dùng để định nghĩa các thực thể có cùng chung các thuộc tính và các hành vi - Đối tượng (object) là thực thể của một lớp. Tất cả các object của một lớp có đầy đủ các thuộc tính và hành vi được định nghĩa bởi lớp đó. 2
- CÁC TÍNH CHẤT CỦA LẬP TRÌNH HĐT • Tính đóng gói • Trừu tượng • Kế thừa • Đa hình 3
- 4
- Abstraction 5
- Encapsulation 6
- Inheritance … 7
- Polymorphism 8
- Access Modifiers public • protected • private • internal • 9
- CÁC THÀNH PHẦN CƠ BẢN CỦA LỚP – Các thuộc tính: các đặc trưng mô tả đối tượng – Các phương thức: Các thao tác mà đối tượng có thể thực hiện – Định nghĩa một lớp public class Sinhvien { Các thuộc tính Các phương thức của lớp } - Tạo thể hiện của một lớp: Để truy cập được các thành phần dữ liệu và phương thức của lớp, ta phải tạo đối tượng của lớp đó. + Ví dụ: Sinhvien s1 = new Sinhvien(); 10
- Các thành phần cơ bản của lớp - Phương thức là các hàm được khai báo trong lớp, được sử dụng để thao tác với các biến của lớp. Hàm có thể có các tham số, có giá trị trả về hoặc không. Phương thức thể hiện các hành vi của lớp. Các phương thức có thể được gọi bởi đối tượng của lớp định nghĩa phương thức đó. 11
- Tạo phương thức - Cú pháp: [access modifier] return_type method_name ([list of parameters]) { // body of method } - Lưu ý: + Tên phương thức không thể là từ khóa của C# + Không chứa các ký tự spaces + Không thể bắt đầu bằng 1 số + Có thể bắt đầu bằng ký tự _ hoặc @ 12
- Gọi phương thức - Có thể gọi một phương thức trong lớp bằng việc tạo một đối tượng của lớp. Gọi phương thức theo cú pháp sau: object_name.MethodName(list of parameter). ? - Nếu các phương thức được gọi bởi các phương thức khác trong lớp. Chỉ cần dùng tên lớp và các tham số truyền vào phương thức. - Trong C# các phương thức luôn được gọi từ phương thức khác. 13
- Ví dụ public class SinhVien { private string hoten, quequan; private DateTime ngaysinh; public SinhVien (string hoten, string quequan, DateTime ngaysinh) { this.hoten = _hoten this.ngaysinh = _ngaysinh this.quequan = _quequan } private int TinhTuoi() { return DateTime.Now.Year - ngaysinh.Year } public void ThongTinSV() { string info = ""; info = info + "Họ và tên:".PadRight(12) + hoten + "“; info = info + "Quê quán:".PadRight(12) + quequan + "“; info = info + “Tuổi:".PadRight(12, " ") + TinhTuoi().ToString(); Console.WriteLine(info); } 14 }
- Các thuộc tính của lớp - Lớp SinhViên có các thuộc tính thành ph ần: hoten, ngaysinh, quequan. - Hàm tạo (Contructor): Được gọi khi khởi tạo một đối tượng của lớp. - Hàm huỷ. - Các phương thức: TinhTuoi, ThongTinSV - Định nghĩa truy cập các thuộc tính có thể sử dụng: private, protected, public, internal. - Lớp là kiểu dữ liệu tham chiếu, khi khai báo giá trị mặc định các đối tượng của lớp là null. Trước khi dùng biến 15
- Hàm tạo (contructor) - Hàm tạo là một phương thức đặc biệt của lớp, dùng để tạo một đối tượng mới. Chương trình sẽ cấp phát bộ nhớ cho đối tượng sau đó gọi đến hàm tạo - Contructor dùng để khởi tạo các biến thành viên của lớp. - Đặc điểm hàm tạo: + Tên hàm tạo bắt buộc trùng tên lớp. + Không có giá trị trả về tường minh. + Không cho kế thừa. 16
- Chồng các hàm, nạp chồng toán tử - Chồng các hàm: Dùng cùng một tên để định nghĩa các hàm khác nhau. Các hàm được nạp chồng phải khác nhau v ề đối số (số lượng, kiểu dữ liệu). - Ví dụ: - Nạp chồng toán tử: để thực hiện các phép toán trên kiểu dữ liệu không chuẩn. Như +, - , * , … - Cú pháp public static kiểu trả về operator toán tử (các tham số) { // các lệnh - Từ khóa định nghĩa truy cập phải là public và phương thức kiểu static. } - Toán tử có bao nhiêu ngôi thì trong phương thức nạp chồng có bấy nhiêu tham số 17
- Các toán tử có thể nạp chồng Các toán tử Khả năng nạp chồng +, , !, ~, ++, , true, false These unary operators can be overloaded. +, , *, /, %, &, |, ^, These binary operators can be overloaded. ==, !=, , = The comparison operators can be overloaded (but see the note that follows this table). &&, || The conditional logical operators cannot be overloaded, but they are evaluated using & and |, which can be overloaded. [] The array indexing operator cannot be overloaded, but you can define indexers. () The cast operator cannot be overloaded, but you can define new conversion operators (see explicit and implicit). Assignment operators cannot be overloaded, but +=, for +=, =, *=, /=, %=, &=, |=, ^=, = example, is evaluated using +, which can be overloaded. =, ., ?:, >, new, is, sizeof, These operators cannot be overloaded. typeof 18
- Ví dụ về nạp chồng toán tử - Nạp chồng toán tử chuyển kiểu + Chuyển kiểu ngầm định class Digit { public Digit(double d) { val = d; } public double val; // ...other members // User-defined conversion from Digit to double public static implicit operator double(Digit d) { return d.val; } // User-defined conversion from double to Digit public static implicit operator Digit(double d) { return new Digit(d); } } 19
- Ví dụ về nạp chồng toán tử - Chuyển kiểu tường minh - Có 2 lớp biểu diễn nhiệt độ Celsius và Farenheit. 2 lớp có đều có thuộc tính public là degrees. public static explicit operator Celsius(Farenheit f) { return new Celsius((5.0f/9.0f)*(f.degrees-32)); } - Sử dụng chuyển kiểu tường minh Fahrenheit f = new Fahrenheit(100.0f); Celsius c = (Celsius)f; 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Đề cương bài giảng môn học Lập trình mạng
139 p | 609 | 250
-
Bài giảng môn học Lập trình hệ nhúng - Phạm Văn Thuận
113 p | 125 | 22
-
Bài giảng Công nghệ lập trình tiên tiến: Chương 0 - ĐH Công nghệ Đồng Nai
8 p | 145 | 11
-
Bài giảng Cơ sở lập trình 1: Giới thiệu môn học - Lê Quý Tài
9 p | 132 | 8
-
Bài giảng Kỹ thuật lập trình: Bài 1 - Phạm Đình Sắc
9 p | 127 | 7
-
Bài giảng Ngôn ngữ lập trình C: Giới thiệu môn học - PhD. Nguyễn Thị Huyền
7 p | 56 | 7
-
Bài giảng môn học Cơ sở lập trình - ThS. Phạm Thanh An
4 p | 116 | 7
-
Bài giảng Ngôn ngữ lập trình: Tổng quan môn học - Lê Nguyễn Tuấn Thành
6 p | 140 | 6
-
Bài giảng Cơ sở lập trình: Giới thiệu môn học - Trịnh Tấn Đạt
15 p | 15 | 6
-
Bài giảng môn học Cơ sở lập trình
11 p | 97 | 6
-
Bài giảng Kỹ thuật lập trình - TS. Vũ Hương Giang
8 p | 117 | 5
-
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 p | 15 | 4
-
Bài giảng Kỹ thuật lập trình: Giới thiệu môn học - TS. Vũ Thị Hương Giang
8 p | 26 | 4
-
Bài giảng Ngôn ngữ lập trình: Tổng quan môn học
6 p | 88 | 3
-
Bài giảng Kỹ thuật lập trình: Giới thiệu học phần - Trần Minh Thái (2017)
14 p | 59 | 3
-
Bài giảng Ngôn ngữ lập trình C: Giới thiệu môn học - TS. Nguyễn Thị Hiền
7 p | 52 | 2
-
Bài giảng Giới thiệu lập trình: Thông tin môn học - TS. Lê Nguyên Khôi
6 p | 70 | 2
-
Bài giảng Kỹ thuật lập trình: Mở đầu - TS. Vũ Hương Giang
8 p | 35 | 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