Làm quen c# phần 2- Kiểu dữ liệu - Pdf 13


HƯỚNG ĐỐI TƯỢNG
TRONG C#

Nhắc lại về lập trình HĐT

Tiếp cận HĐT giúp khắc phục khuyết điểm của
lập trình cấu trúc:

Không sử dụng lại được mã nguồn.

Mọi thay đổi cấu trúc đòi hỏi phải thay đổi cả giải
thuật

Chỉ phát huy hiệu quả trong module chương trình
nhỏ.

Lập trình HĐT nhìn nhận và phân tích chương
trình là những hoạt động mà các đối tượng tham
gia vào chương trình đó.

ĐỐI TƯỢNG – LỚP

Một đối tượng là thực thể trong hệ thống.
 Mỗi đối tượng sẽ có một số thuộc tính và một
số hoạt động nhất định trong hệ thống.

Lớp là khái niệm trừu tượng phản ánh tập hợp
các đối tượng có cùng tính chất.

Một đối tượng là một thể hiện của một lớp.

HÀM XÂY DỰNG

Hàm xây dựng không
tham số:
public ConNguoi()
{
hoTen=“”;
gioiTinh=“Nam”;
}
Gọi hàm xây dựng:
ConNguoi cn;
cn=new ConNguoi()
Nếu một lớp không định nghĩa hàm xây dựng thì lớp sẽ có một
hàm xây dựng mặc nhiên là:
Public ConNguoi(){}

HÀM XÂY DỰNG

Hàm xây dựng có tham số:
public ConNguoi(string hoTen,string gioiTinh, DateTime NS)
{
this.hoTen=hoTen;
this.gioiTinh=gioiTinh;
ngaySinh=NS;
}
Gọi hàm:
DateTime ns=new DateTime(1986,9,15);
ConNguoi cn=new ConNguoi(“NVA”,”Nam”,ns);

THUỘC TÍNH

public string hoTen;
protected string gioiTinh;
DateTime ngaySinh;
int soPhieuBau;
public int SoPhieuBau
{
get{return soPhieuBau;}
}
}
Cách sử dụng:
UngCuVien ucv=new UngCuVien();
String soPB=ucv.SoPhieuBau; //OK
ucv.SoPhieuBau=7; // Lỗi

PHƯƠNG THỨC

Phương thức của một lớp phản ánh các hành
động của các đối tượng trong lớp đó.

Cú pháp:
<thuộc tính tr.cập> <kiểu trả về> <tên phương
thức>( [Danh sách các tham số])
{
nội dung phương thức;
}

PHƯƠNG THỨC
VD:
class NhanKhau()
{

namKetHon=DateTime.Now.Year;
tinhTrangHonNhan=“Đã kết hôn”;
hoTenVoChong=hoTen;
}
}

BIẾN THÀNH VIÊN TĨNH (STATIC)
Cách khai báo:
public Class CuTri{
String cmnd;
public string hoTen;
protected string gioiTinh;
DateTime ngaySinh;
static int soNguoiDiBau;
}
Mô hình bộ nhớ:
CuTri ct1=new CuTri();
CuTri ct2=new CuTri();
ct2
ct1
cmndcmnd
cmnd
soNguoiDiBau

THUỘC TÍNH TĨNH (STATIC)
Các thuộc tính tĩnh chỉ được quyền truy cập vào biến
thành viên tĩnh (không có điều ngược lại).
public Class CuTri
{


Đối với các yếu tố tĩnh của một lớp ta phải gọi chúng
thông qua tên của lớp đó.
Ví dụ:
int soNguoiDiBau=CuTri.SoNguoiDiBau;
int so=ct. SoNguoiDiBau; //Lỗi cú pháp

TÍNH THỪA KẾ
Tính thừa kế giúp có thể tái sử dụng lại mã nguồn.
Một lớp được thừa kế từ một lớp khác được gọi là
lớp con, lớp còn lại gọi là lớp cha.
Lớp con có thể sử dụng và truy cập những biến
thành viên, thuộc tính và phương thức có thuộc tính
truy cập là protected hoặc public của lớp cha.

TÍNH THỪA KẾ
Lớp con:
Class CuTri:ConNguoi
{
String cmnd;
}
Lớp cha:
class ConNguoi()
{
public string hoTen;
protected string
gioiTinh;
DateTime ngaySinh;
}

HÀM XÂY DỰNG TRONG LỚP CON

{
int tuoi=base.Tuoi();
return tuoi ;
}
Lớp ConNguoi (Cha)
public int Tuoi()
{
int tuoi=DateTime.Now.Year-
ngaySinh.Year+1;
return tuoi;
}

TƯƠNG QUAN GIỮA ĐỐI TƯỢNG
LỚP CON VÀ ĐỐI TƯỢNG LỚP CHA
Tất cả các đối tượng của lớp con và đối tượng của
lớp cha đều sử dụng chung một vùng nhớ đối với
các biến thành viên tĩnh của lớp cha.
DTLopCha1
DTLopCon2
DTLopCha2
DTLopCon1
Biến tĩnh

TƯƠNG QUAN GIỮA ĐỐI TƯỢNG
LỚP CON VÀ ĐỐI TƯỢNG LỚP CHA
Ta có thể gán một đối tượng của lớp cha bằng một
đối tượng của lớp con (Không có điều ngược lại)
ConNguoi cn=new ConNguoi();
CuTri ct=new CuTri();
cn=ct; // Hợp lệ


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status