(NB) Mục tiêu của Giáo trình Lập trình hướng đối tượng là Trình bày các khái niệm trong lập trình hướng đối tượng. Sử dụng ngôn ngữ C# trong lập trình hướng đối tượng. Thiết kế lớp đối tượng và các thành phần của lớp. Viết chương trình những bài toán theo quan điểm lập trình hướng đối tượng. Cài đặt tính kế thừa, đa hình trong hướng đối tượng
Trang 2Bà R a – Vũng Tàu, năm 2016 ị
Trang 4L I GI I THI UỜ Ớ Ệ
L p trình theo phậ ương pháp hướng đ i tố ượng là m t phộ ương pháp l p trìnhậ
xu t hi n t nh ng năm 1990 và đấ ệ ừ ữ ược h u h t các ngôn ng l p trình hi n nay h tr ầ ế ữ ậ ệ ỗ ợ Giáo trình này s gi i thi u các đ c tr ng c a phẽ ớ ệ ặ ư ủ ương pháp l p trình hậ ướng đ i tố ượ ng
nh tính đóng gói, tính k th a và tính đa hình. Chúng tôi ch n ngôn ng C# đ minhư ế ừ ọ ữ ể
h a, vì đây là ngôn ng l p trình họ ữ ậ ướng đ i tố ượng d h c và ph d ng nh t hi n nay.ễ ọ ổ ụ ấ ệ Sau khi hoàn t t giáo trình này, sinh viên s bi t đấ ẽ ế ược cách mô hình hóa các l p đ iớ ố
tượng trong th gi i th c thành các l p đ i tế ớ ự ớ ố ượng trong C# và cách ph i h p các đ iố ợ ố
tượng này đ gi i quy t v n đ đang quan tâm.ể ả ế ấ ề
Bà R a – Vũng Tàu, ngày tháng năm 2016ị
Tham gia biên so nạ
Nguy n Bá Th yễ ủ
Trang 5M C L CỤ Ụ
Trang 6MÔ ĐUN L P TRÌNH HẬ ƯỚNG Đ I TỐ ƯỢNG
Mã mô đun: MĐ 16
V trí, tính ch t c a môn h cị ấ ủ ọ
L p trình hậ ướng đ i tố ượng là phương pháp l p trình m i trên bậ ớ ước đường ti nế hóa c a vi c l p trình máy tính, nh m giúp chủ ệ ậ ằ ương trình tr nên linh ho t, tin c y vàở ạ ậ
d phát tri n. T tễ ể ư ưởng l p trình hậ ướng đ i tố ượng được áp d ng cho h u h t các ngônụ ầ ế
ng l p trình ch y trên môi trữ ậ ạ ường Windows nh Visual Basic, Java, Visual C, C# Vìư
v y vi c nghiên c u phậ ệ ứ ương pháp l p trình m i này là th t s c n thi t đ i v i nh ngậ ớ ậ ự ầ ế ố ớ ữ
người làm Tin h c.ọ
M c tiêu môn h cụ ọ
+ Trình bày các khái ni m trong l p trình hệ ậ ướng đ i tố ượng
+ S d ng ngôn ng C# trong l p trình hử ụ ữ ậ ướng đ i tố ượng
+ Thi t k l p đ i tế ế ớ ố ượng và các thành ph n c a l p ầ ủ ớ
+ Vi t chế ương trình nh ng bài toán theo quan đi m l p trình hữ ể ậ ướng đ i tố ượng
+ Cài đ t tính k th a, đa hình trong hặ ế ừ ướng đ i tố ượng
+ Trình bày đượ ự ầc s c n thi t c a các khái ni m: toán t , u nhi m hàm và s ki n ế ủ ệ ử ỷ ệ ự ệtrong l p trình hậ ướng đ i tố ượng
Phân tích, cài đ t và xây d ng đặ ự ược chương trình theo phương pháp hướng đ i tố ượng trên m t ngôn ng l p trình c th ộ ữ ậ ụ ể
Trang 74 Thi t l p các phế ậ ương th c c a l p ứ ủ ớ 5 Tích h pợ
5 Thi t l p các thu c tính c a l pế ậ ộ ủ ớ 5 Tích h pợ
Trang 8d li u,…). M t ngôn ng l p trình có th h tr nhi u Phữ ệ ộ ữ ậ ể ỗ ợ ề ương th c (l p trình), víứ ậ
d : trong ngôn ng C++ hay Object Pascal ta có th l p trình theo phụ ữ ể ậ ương th c đ nhứ ị
hướng th t c ho c theo phủ ụ ặ ương th c hứ ướng đ i tố ượng, hay cũng có th ch a c 2ể ứ ả
ki u vi t này.ể ế
Cho dù là ch n phọ ương th c l p trình nào, chúng ta v n mong mu n đ t đ nứ ậ ẫ ố ạ ế
m t k t qu là làm sao đ có s n ph m t i u, đ y đ các tính năng so v i yêu c u độ ế ả ể ả ẩ ố ư ầ ủ ớ ầ ề
ra. S ch n l a m t phự ọ ự ộ ương th c l p trình phù h p v i yêu c u đ t ra s giúp các l pứ ậ ợ ớ ầ ặ ẽ ậ trình viên có được m t k t qu t t nh t. Do v y, th c s không th so sánh u nhộ ế ả ố ấ ậ ự ự ể ư ượ c
đi m gi a các phể ữ ương th c l p trình n u không đ t nó vào m t hoàn c nh c th c aứ ậ ế ặ ộ ả ụ ể ủ yêu c u.ầ
M c tiêu: ụ
Trình bày được các phương pháp c a l p trình hủ ậ ướng đ i tố ượng, các đ t đi m n iặ ể ỗ
b t c a phậ ủ ương pháp l p trình hậ ướng đ i tố ượng
Trình bày được các khái ni m c b n c a l p trình hệ ơ ả ủ ậ ướng đ i tố ượng
Rèn luy n tính c n th n, sáng t o, tinh th n làm vi c nhómệ ẩ ậ ạ ầ ệ
N i dung:ộ
1. Các phương pháp l p trìnhậ
Trang 9Xây d ng ph n m m bao g m r t nhi u công đo n: phân tích & thi t k , cài đ t, ki mự ầ ề ồ ấ ề ạ ế ế ặ ể tra/th nghi m và b o trì.ử ệ ả
Cài đ t (programming/coding) ch là 1 ph n trong quá trình trên.ặ ỉ ầ
C++/C#/Java/v.v… là NNLT đ vi t chể ế ương trình
PPLT là h th ng hệ ố ướng d n các giai đo n c n thi t, c u trúc c a m t chẫ ạ ầ ế ấ ủ ộ ương trình.PPLT là các cách ti p c n giúp cho quá trình cài đ t hi u qu h n.ế ậ ặ ệ ả ơ
Các yêu c u chính c a ph n m m:ầ ủ ầ ề
Lâp trinh la xac đinh xem cḥ ̀ ̀ ́ ̣ ương trinh gôm bao nhiêu thu tuc/ ham.̀ ̀ ̉ ̣ ̀
K t qu là h th ng c u trúc và m i quan h gi a các hàm/ th t c.ế ả ệ ố ấ ố ệ ữ ủ ụ
1.3. L p trình môđunậ
Chương trinh la môt hê thông nh ng modul hay đ n thê.̀ ̀ ̣ ̣ ́ ữ ơ ̉
Đ n thê la môt hê thông cac thu tuc/ ham.ơ ̉ ̀ ̣ ̣ ́ ́ ̉ ̣ ̀
Phân tích và tìm ra các đ n th ơ ể
Trang 10Gom nhóm các thành ph n tầ ương t nhau v ý nghĩa, ph m vi…ự ề ạ
Bài t p c ng c :ậ ủ ố
Xet ch́ ương trinh nhâp vao ho tên, điêm văn, điêm toan cua môt hoc sinh va xuât điêm̀ ̣ ̀ ̣ ̉ ̉ ́ ̉ ̣ ̣ ̀ ́ ̉ trung binh t̀ ương ng. Hay viêt chứ ̃ ́ ương trinh trên băng cac ph̀ ̀ ́ ương pháp
1.4. L p trình hậ ướng đ i tố ượng
Chương trinh la môt hê thông nh ng l p đôi t̀ ̀ ̣ ̣ ́ ữ ớ ́ ượng. Môi môt l p đôi t̃ ̣ ớ ́ ượng vê măt th c̀ ̣ ự
tê t́ương ng v i nh ng đôi tứ ớ ữ ́ ượng co xuât hiên trong th c tê.́ ́ ̣ ự ́
LT hương đôi t́ ́ ượng la xây d ng nh ng l p đôi t̀ ự ữ ớ ́ ượng va yêu câu chung th c hiêǹ ̀ ́ ự ̣
Đ i tố ượng ph n m m: dùng đ bi u di n các đ i tầ ề ể ể ễ ố ượng trong th gi i th c.ế ớ ự
M i đ i tỗ ố ượng bao g m 2 thành ph n: thu c tính và hành đ ng.ồ ầ ộ ộ
Trang 11L p đ i tớ ố ượng th hi n cho m t nhóm các đ i tể ệ ộ ố ượng gi ng nhau (cùng thu c tính &ố ộ hành đ ng)ộ
VD: h c sinh A, h c sinh B, h c sinh C…ọ ọ ọ
Thi t k ph n m m hế ế ầ ề ướng đ i tố ượng:
Tr u từ ượng hóa d li u và các hàm/ th t c liên quanữ ệ ủ ụ
Chia h th ng ra thành các l p/ đ i tệ ố ớ ố ượng
M i l p/ đ i tỗ ớ ố ượng có các tính năng và hành đ ng chuyên bi tộ ệ
Các l p có th đớ ể ượ ử ục s d ng đ t o ra nhi u đ i tể ạ ề ố ượng c thụ ể
Các bước thi t k đ i tế ế ố ượng:
Bươc 1: Xây d ng s đô đôi t́ ự ơ ̀ ́ ượng
Xac đinh cac l p đôi t́ ̣ ́ ớ ́ ượng
3.1. Tính tr u từ ượng (abstraction)
S tr u tự ừ ượng hóa:
Trang 12Hình 1.2: Mô hình tr u từ ượng hóa th c thự ể3.2. Tính đóng gói (encapsulation)
Kha năng cât gi riêng biêt d liêu va ph̉ ́ ữ ̣ ữ ̣ ̀ ương th c tac đông lên d liêu đo. Doứ ́ ̣ ữ ̣ ́ vây chung ta không phai quan tâm t i “phai lam nh thê nao” ma chi điêu khiên băng̣ ́ ̉ ớ ̉ ̀ ư ́ ̀ ̀ ̉ ̀ ̉ ̀
“lam viêc gi”. Đong goi giúp đông nhât gi a d liêu va cac thao tac tac đông lên d liêù ̣ ̀ ́ ́ ̀ ́ ữ ữ ̣ ̀ ́ ́ ́ ̣ ữ ̣ đo.́
L p đôi tớ ́ ượng đa co đ̃ ́ ượ ửc s dung lai goi la l p c s ̣ ̣ ̣ ̀ ́ơ ơ ở
L p th a kê l p c s goi la l p dân xuât.ớ ừ ́ ́ơ ơ ở ̣ ̀ ́ơ ̃ ́
CÂU H I, BÀI T PỎ Ậ
Xây d ng quy trình t ng quát v l p HOCSINHự ổ ề ớ
Trang 13G i ý: ợ
Tên l p, các thu c tính, ớ ộ
YÊU C U, ĐÁNH GIÁẦ
Các khái ni m c b n v l p trìnhệ ơ ả ề ậ
Đ c đi m c a đ i tặ ể ủ ố ượng
Các khái ni m c b n trong hệ ơ ả ướng đ i tố ượng
Trang 14C B N V C#Ơ Ả Ề
Gi i thi uớ ệ
Ngôn ng C# khá đ n gi n, ch kho ng h n 80 t khóa và h n mữ ơ ả ỉ ả ơ ừ ơ ười m y ki uấ ể
d li u đữ ệ ược d ng s n. Tuy nhiên, ngôn ng C# có ý nghĩa to l n khi nó th c thiự ẵ ữ ớ ự
nh ng khái ni m l p trình hi n đ i. C# bao g m t t c nh ng h tr cho c u trúc,ữ ệ ậ ệ ạ ồ ấ ả ữ ỗ ợ ấ thành ph n component, l p trình hầ ậ ướng đ i tố ượng. Nh ng tính ch t đó hi n di n trongữ ấ ệ ệ
m t ngôn ng l p trình hi n đ i.ộ ữ ậ ệ ạ
M c tiêu ụ
C ng c ki n th c n n t ng v các ki u d li u, c u trúc đi u khi n, hàm th t c.ủ ố ế ứ ề ả ề ể ữ ệ ấ ề ể ủ ụ
V n d ng các ki u d li u, c u trúc đi u khi n, hàm th t c vào các bài t p c b n.ậ ụ ể ữ ệ ấ ề ể ủ ụ ậ ơ ả
Rèn luy n tính c n th n, sáng t o, tinh th n làm vi c nhóm.ệ ẩ ậ ạ ầ ệ
2.1. Các ki u d li u c b nể ữ ệ ơ ả
2.1.1. Đ nh nghĩaị
KDL là các lo i d li u và ph m vi giá tr c a chúng trong b nh mà ngạ ữ ệ ạ ị ủ ộ ớ ườ ậi l p trình
s d ng đ l u tr ử ụ ể ư ữ
Có 2 lo i : KDL d ng s n & KDL t đ nh nghĩa.ạ ự ẵ ự ị
C# cũng chia t p d li u thành hai ki u: giá tr và tham chi u. Bi n ki u giá tr đậ ữ ệ ể ị ế ế ể ị ượ c
l u trong vùng nh stack, còn bi n ki u tham chi u đư ớ ế ể ế ượ ưc l u trong vùng nh heap.ớ2.1.2. Khai báo
S nguyên: Int a,b;ố
S th c: float x,y;ố ự
Ký t , logic: char c; bool T;ự
Trang 15Chu i ký t :ỗ ự
Ki u string có th ch a n i dung không gi i h n, vì đây là ki u d li u đ i tể ể ứ ộ ớ ạ ể ữ ệ ố ượ ng
được ch a b nh heap. ứ ở ộ ớ
Enum (ki u li t kê):ể ệ
Enum là m t cách th c đ đ t tên cho các tr nguyên (các tr ki u s nguyên, theo nghĩaộ ứ ể ặ ị ị ể ố nào đó tương t nh t p các h ng), làm cho chự ư ậ ằ ương trình rõ ràng, d hi u h nễ ể ơ
VD1:
enum Ngay {Hai, Ba, Tu, Nam, Sau, Bay, ChuNhat};
Hai = 0; Ba = 1; … ; ChuNhat = 6
Struct (ki u c u trúc):ể ấ
Struct dùng đ nhóm các d li u cùng liên quan đ n m t đ i tể ữ ệ ế ộ ố ượng nào đó
Khai báo :
struct <Tên c u trúc>ấ
Trang 17Nêu biêu th c điêu kiên cho kêt qua khac không (true) thi th c hiên khôi lênh.́ ̉ ứ ̀ ̣ ́ ̉ ́ ̀ ự ̣ ́ ̣
Trang 18if (biêu th c điêu kiên)̉ ứ ̀ ̣
{
<khôi lênh 1>;́ ̣}
else
{
<khôi lênh 2>;́ ̣}
Nêu biêu th c điêu kiên cho kêt qua khac không thi th c hiên khôi lênh 1, nǵ ̉ ứ ̀ ̣ ́ ̉ ́ ̀ ự ̣ ́ ̣ ược lai thị ̀ cho th c hiên khôi lênh th 2.ự ̣ ́ ̣ ứ
Trang 20 Viêt ch́ ương trinh đêm sô US cua sô nguyên d̀ ́ ́ ̉ ́ ương.
Viêt ch́ ương trinh in ra man hinh hinh ch nhât đăc kich th̀ ̀ ̀ ̀ ữ ̣ ̣ ́ ươc (m, n nhâp t bań ̣ ừ ̀ phim).́
Vi du: Nhâp m=5, n=4́ ̣ ̣
* * * * *
* * * * *
Trang 21M c đich s d ng phụ ́ ử ụ ương th c: ứ
Khi co môt công viêc giông nhau cân th c hiên nhiêu vi tri.́ ̣ ̣ ́ ̀ ự ̣ ở ̀ ̣ ́
Khi cân chia môt ch̀ ̣ ương trinh l n ph c tap thanh cac đ n thê nho (ham con)̀ ớ ứ ̣ ̀ ́ ơ ̉ ̉ ̀
đê ch̉ ương trinh đ̀ ược trong sang, dê hiêu trong viêc x ly, tính toán.́ ̃ ̉ ̣ ử ́
2.3.2. Khai báo
M u t ng quát c a phẫ ổ ủ ương th c:ứ
<ph m vi> <KDL> TênPhạ ươngTh c([tham sô]);ứ ́
Trang 22Danh sách các tham s (n u có) : đ u vào c a phố ế ầ ủ ương th c (trong m t s trứ ộ ố ường h pợ
có th là đ u vào và đ u ra c a phể ầ ầ ủ ương th c n u k t qu đ u ra có nhi u giá tr ứ ế ế ả ầ ề ị Tham s này g i là tham chi u).ố ọ ế
Trang 23Hoán v 2 s nguyên a, b cho trị ố ước:
Đánh giá k t qu khi vi t chế ả ế ương trình v i hai trớ ường h p sauợ
Trang 241, Viêt ch́ ương trinh tinh diên tich va chu vi cua hinh ch nhât.̀ ́ ̣ ́ ̀ ̉ ̀ ữ ̣
2, Viêt ch́ ương trinh tinh diên tich va chu vi hinh tron.̀ ́ ̣ ́ ̀ ̀ ̀
3, Nhâp vao 3 sô th c a, b, c va kiêm tra xem chung co lâp thanh 3 canh cua môt tam giac̣ ̀ ́ ự ̀ ̉ ́ ́ ̣ ̀ ̣ ̉ ̣ ́ hay không? Nêu co hay tinh diên tich, chiêu dai môi đ́ ́ ̃ ́ ̣ ́ ̀ ̀ ̃ ường cao cua tam giac va in kêt̉ ́ ̀ ́ qua ra man hinh.̉ ̀ ̀
4, Viêt ch́ ương trinh nhâp 2 sô nguyên d̀ ̣ ́ ương a, b. Tim USCLN & BSCNN.̀
5, Viêt ch́ ương trinh nhâp sô nguyên d̀ ̣ ́ ương n, tinh tông cac ́ ̉ ́ ươ ố ủc s c a n. ́
Vi du: Nhâp n=6́ ̣ ̣
6, T ng các ổ ướ ố ừc s t 1 đ n n: 1+2+3+6=12.ế
7, Nhâp vao gi , phut, giây. Kiêm tra xem gi , phut, giây đo co h p lê hay không?̣ ̀ ờ ́ ̉ ờ ́ ́ ́ ợ ̣
YÊU C U, ĐÁNH GIÁ Ầ
Trang 25 Cách khai báo bi nế
S d ng các c u trúc đi u khi nử ụ ấ ề ể
C u trúc hàm, th t c.ấ ủ ụ
Tham chi u, tham tr ế ị
Trang 26S D NG CÁC B T TRUY C PỬ Ụ Ổ Ừ Ậ
Gi i thi uớ ệ
Trong tính k th a t t c các thu c tính và phế ừ ấ ả ộ ương th c c a l p cha đ u sứ ủ ớ ề ử
d ng đụ ượ ở ớc l p con, nh ng th c t có nh ng thu c tính và phư ự ế ữ ộ ương th c l p chaứ ở ớ không mu n l p con có th truy c p vào. Cũng nh l p con cũng có nh ng thu c tínhố ớ ể ậ ư ở ớ ữ ộ
và phương th c ch mu n s d ng riêng trong đ i l p đó thôi đó ch không đứ ỉ ố ử ụ ố ớ ứ ược truy
xu t ngoài l p. Đ gi i quy t v n đ này ta s tìm hi u các m c truy c p private,ấ ở ớ ể ả ế ấ ề ẽ ể ứ ậ protected và public trong l p trình hậ ướng đ i tố ượng
Thông thường, m c đ truy c p (accessmodifiers) c a m t l p là public. Ngoàiứ ộ ậ ủ ộ ớ
ra các thành ph n c a l p cũng có m c đ truy c p riêng. M c đ truy c p c a m tầ ủ ớ ứ ộ ậ ứ ộ ậ ủ ộ thành ph n cho bi t lo i phầ ế ạ ương th c nào đứ ược phép truy c p đ n nó, hay nói cáchậ ế khác nó mô t ph m vi mà thành ph n đó đả ạ ầ ược nhìn th y.ấ
Thành viên được đánh d u public đấ ược nhìn th y b i b t k phấ ở ấ ỳ ương th c nàoứ
c a l p khác.ủ ớ
3.2. T khóa privateừ
Ch có các phỉ ương th c c a l p A m i đứ ủ ớ ớ ược phép truy c p đ n thành ph nậ ế ầ
được đánh d u private trong các l p A.ấ ớ
3.3. T khóa protectedừ
Trang 27Ch có các phỉ ương th c c a l p A ho c c a l p d n xu t t A m i đứ ủ ớ ặ ủ ớ ẫ ấ ừ ớ ược phép truy c p đ n thành ph n đậ ế ầ ược đánh d u protected trong l p A.ấ ớ
3.4. T khóa internalừ
Các thành viên internal trong l p A đớ ược truy xu t trong các phấ ương th c c aứ ủ
b t k l p trong kh i k t h p (assembly) c a Aấ ỳ ớ ố ế ợ ủ
Trang 28BÀI 4THI T L P CÁC PHẾ Ậ ƯƠNG TH C C A L P (FUNCTION MEMBERS)Ứ Ủ Ớ
Gi i thi uớ ệ
Các phương th c và các hàm đứ ược khai báo trong m t class và có th độ ể ược th cự
hi n các th c thi trên các bi n class. Chúng là m t kh i c a đo n code mà n m gi cácệ ự ế ộ ố ủ ạ ắ ữ tham s mà có th tr v ho c không tr v giá tr ố ể ả ề ặ ả ề ị
M i m t phỗ ộ ương th c th c hi n m t hành đ ng c a m t đ i tứ ự ệ ộ ộ ủ ộ ố ượng. nó có thể
được truy su t thông qua vi c g i c a m t object class đấ ệ ọ ủ ộ ược đ nh nghĩa đ g iị ể ọ
phương th cứ
M c tiêuụ
Trình bày vai trò c a c a các phủ ủ ương th c c a l p.ứ ủ ớ
Xây d ng các phự ương th c phù h p v i vai trò và ch c năng trong l p.ứ ợ ớ ứ ớ
Rèn luy n tính c n th n, sáng t o, tinh th n làm vi c nhóm.ệ ẩ ậ ạ ầ ệ
4.1. Đ nh nghĩaị
Phương th c, ham (method) la tâp h p cac lênh dung đê x ly thông tin cho 1ứ ̀ ̀ ̣ ợ ́ ̣ ̀ ̉ ử ́ muc đich nao đo, thông tḥ ́ ̀ ́ ương ph̀ ương th c đứ ược tao ra va đ̣ ̀ ược đăt tên đê co thê goị ̉ ́ ̉ ̣
s dung thông qua đôi tử ̣ ́ ượng cua Class.̉
4.2. Xây phương th c trong l pứ ớ
Các phương th c c a l p thứ ủ ớ ường đ oc khai báo v i t khoá publicự ớ ừ
Cú pháp:
[public/ b t khác] <KDL tr v > <tenPhuongThuc>([ DS các đ i s ])ổ ừ ả ề ố ố
{
// Các l nh bên trong phệ ương th c.ứ
Trang 294.3. Xây d ng phự ương th c ngoài l pứ ớ
Ngôn ng C# không cho phép t o các phữ ạ ương th c bên ngoài c a l p, nh ng ta có thứ ủ ớ ư ể
t o đạ ược các phương th c gi ng nh v y b ng cách t o các phứ ố ư ậ ằ ạ ương th c tĩnh bênứ trong m t l p.ộ ớ
Trang 30 Nh ng t khóa ph bi n nh tữ ừ ổ ế ấ
Trang 31BÀI 5THI T L P CÁC THU C TÍNH C A L P (DATA MEMBERS)Ế Ậ Ộ Ủ Ớ
Gi i thi uớ ệ
S d ng thu c tính trong C# không mang l i l i ích nào v t c đ ho t đ ngử ụ ộ ạ ợ ề ố ộ ạ ộ
c a chủ ương trình mà ch là m t cách giúp cho code c a chúng ta d đ c và d vi t h n,ỉ ộ ủ ễ ọ ễ ế ơ giúp cho vi c tăng hi u su t làm vi c.ệ ệ ấ ệ
M c tiêuụ
Trình bày đ nh nghĩa đ y đ các thành ph n d li u.ị ầ ủ ầ ữ ệ
V n d ng các thành ph n d li u cho các ho t đ ng c a l p.ậ ụ ầ ữ ệ ạ ộ ủ ớ
Rèn luy n tính c n th n, sáng t o, tinh th n làm vi c nhóm.ệ ẩ ậ ạ ầ ệ
5.1. Đ nh nghĩaị
Thu c tính là nh ng thông tin có th thay đ i độ ữ ể ổ ược
Các thu c tính c a l p thộ ủ ớ ường được khai báo v i b t private ho c protected.ớ ổ ừ ặ
+ private: riêng t ch có ph m vi ho t đ ng trong l p mà nó khai báo. Các phư ỉ ạ ạ ộ ớ ươ ng
th c bên ngoài l p không th truy xu t đ n nó.ứ ớ ể ấ ế
Trang 32+ protected: Các thành viên trong l p đớ ược khai báo b ng protected thì ch có cácằ ỉ
phương th c bên trong l p và các l p d n xu t t l p đó m i có th truy c p đ n nó.ứ ớ ớ ẫ ấ ừ ớ ớ ể ậ ế+ internal: Các phương th c, các bi n thành viên đứ ế ược khai báo b ng t khóa Internalằ ừ
có th để ược truy c p b i t t c nh ng phậ ở ấ ả ữ ương th c c a b t c l p nào trong cùng m tứ ủ ấ ứ ớ ộ
kh i h p ng assembly v i l p đó.ố ợ ữ ớ ớ
+ protected internal: Các bi n thành viên đế ược khai báo b ng t khóa này trong m t l pằ ừ ộ ớ
A b t kì có th đấ ể ược truy xu t b i các phấ ở ương th c thu c l p A và các phứ ộ ớ ương th cứ
c a l p d n xu t t l p A và b t c l p nào trong cùng m t kh i h p ng v i l p A.ủ ớ ẫ ấ ừ ớ ấ ứ ớ ộ ố ợ ữ ớ ớ
Trang 33BÀI 6CÀI Đ T L P TRONG C#Ặ Ớ
Gi i thi uớ ệ
L p co thê đớ ́ ̉ ược xem nh nh ng “khuôn mâu” đư ữ ̃ ược đinh nghia trong cḥ ̃ ươ ngtrinh cua ban đê “đuc” ra nh ng đôi t̀ ̉ ̣ ̉ ́ ữ ́ ượng cân thiêt; cung giông nh trên th c tê, trong̀ ́ ̃ ́ ư ự ́ linh v c hang gia dung, đê “đuc” ra nh ng đôi dep ban cho ng̃ ự ̀ ̣ ̉ ́ ữ ́ ́ ươi tiêu dung s dung, nhà ̀ ử ̣ ̀ san xuât se phai chê tao, thiêt kê ra cac “khuôn mâu” cân thiêt cho loai dep se san xuât,̉ ́ ̃ ̉ ́ ̣ ́ ́ ́ ̃ ̀ ́ ̣ ́ ̃ ̉ ́ sau đo d a vao nguyên liêu va khuôn mâu đa chê tao se san xuât ra cac san phâm lá ự ̀ ̣ ̀ ̃ ̃ ́ ̣ ̃ ̉ ́ ́ ̉ ̉ ̀
nh ng đôi dep cung câp cho thi trữ ́ ́ ̣ ương tiêu dung̀ ̀
M t l p bao g m có các thu c tính và phộ ớ ồ ộ ương th c. Đ khai báo m t l p ta sứ ể ộ ớ ử
d ng t khóa class v i c u trúc sau đây:ụ ừ ớ ấ
[Thu c tính truy c p] class <tên l p>ộ ậ ớ
{
Khai báo các thành ph n d li u c a l pầ ữ ệ ủ ớ
Khai báo các phương th c c a l pứ ủ ớ
}
6.2. T o đ i tạ ố ượng
Trang 34Đ s d ng l p ta ph i khai báo đ i tể ử ụ ớ ả ố ượng c a l p đó. Khi m t đ i tủ ớ ộ ố ượng c aủ
l p đớ ượ ạc t o ra thì nó có đ y đ các thu c tính, phầ ủ ộ ương th c c a l p và s d ng thu cứ ủ ớ ử ụ ộ tính và phương th c c a l p. Các thành ph n c a m t l p ch đu c s d ng khi có thứ ủ ớ ầ ủ ộ ớ ỉ ợ ử ụ ể
hi n c a l p, tr trệ ủ ớ ừ ường h p trong l p có m t hàm kh i d ng là static. Đ khai báoợ ớ ộ ở ự ể
m t đ i tộ ố ượng c a l p ta dùng t khóa new và khai báo nó theo c u trúc sau:ủ ớ ừ ấ
<tên l p> <tên đ i tớ ố ượng> = new <tên l p> ([các giá tr kh i t o n u có]);ớ ị ở ạ ế
6.3. S d ng đ i tử ụ ố ượng
Đ truy c p đ n m t thu c tính, phể ậ ế ộ ộ ương th c ta thông qua tên bi n đ i tứ ế ố ượ ng
và toán tử
ch m “.”:ấ
<tên đ i tố ượng>.<tên thu c tính>;ộ
<tên đ i tố ượng>. <tên phương th c> ([danh sách các đ i s n u có]);ứ ố ố ế