ch Ç ¿ ng 5 object - oriented programming · 14/05/2011 1 ch Ç ¿ng 5 object - oriented...
TRANSCRIPT
![Page 1: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/1.jpg)
14/05/2011
1
Ch ng 5
Object - Oriented Programming
1
5.1 M t s khái ni m c b n5.2 Ti p c n l p trình h ng i t ng5.3 Câu h i
5.1 M t s khái ni m
• L p trình truy n th ng• L p trình h ng i t ng• So sánh
2
p trình truy n th ng
– Ngôn ng (ti ng, ch vi t, ch )– Hình nh
– M t t p ng – t p các ký hi u
3
Ch ng trình
Chng
trìn
h
li u
Gi i thu t
4
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 2: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/2.jpg)
14/05/2011
2
Ngôn ng l p trình
• Có r t nhi u ngôn ng tr giúp l p trình:– Pascal– C++
c m chung:– Tính n th– C u trúc u khi n và tính vào/ra n
5
u m – Nh c m
u m:– D vi t, d c, d hi u, d ki m l i và d hi u ch nh– T duy gi i thu t rõ ràng
• Nh c m:– Khi thay c u trúc d li u => thay i ch ng trình– Không dùng l i – Không theo k p s phát tri n
6
p trình h ng i t ng
Object1
Object2
Object3
Object4
Objectn
li uGi i thu t
7
u m – Nh c m
u m:– Không trùng l p d li u – Thay i C u trúc d li u c a m t i t ng, không
n thay i mã ngu n c a các i t ng khác– Có th s d ng l i mã ngu n
• Nh c m:– M i l– Thay i h t t ng v l p trình– Thay i v ngôn ng (l p trình; h u hành)
s
8
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 3: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/3.jpg)
14/05/2011
3
So sánh
• Ví nh xây c n nhà:– Móng– Khung – Tr n – Trang trí
9
5.2. Ti p c n l p trình h ng i t ng
2.1 Class - L p2.2 Object - i t ng2.3 Truy n tham s2.4 M t s v n b tr
10
2.1 Clacss
• Khái ni m• Khai báo• Thu c tính truy c p• Tham s• Truy n tham s
11
Khái ni m
• Class là : T p h p các i t ng có chung các thu c tính và hành ng
• T t c các th hi n c a Class c g i là i ng, s có chung các tr ng thái và hành vi
• Chú ý: – Các thu c tính và hành ng có th c gán ch sau
khi m t i t ng c t o ra– Khi m t i t ng c t o ra, lúc ó ta m i có m t
i di n th t s c a m t th c th
12
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 4: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/4.jpg)
14/05/2011
4
Ví d
p i t ng
Xe moto Dream IIDung ch 97 cm3
Màu nhoXe moto Click
Dung ch 97 cm3
Màu enSinh viên Tr n Hoàng Th o
20.07.1991Di n Châu
Sinh viên Nguy n V n HùngNam12.02.1990TP Vinh
13
Khai báo l p
[Thu c tính] [B sung truy c p] class < nh danh l p> [: L p c s ]{
<Ph n thân c a l p: nh ngh a các thu c tínhnh ngh a các ph ng th c hành ng >
}
14
Thu c tính truy c p
15
nh ngh a ph ng th c
public void/int Tênph ngth c(){
//Câu l nh;}
16
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 5: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/5.jpg)
14/05/2011
5
using System;public class ThoiGian{
public void ThoiGianHienHanh(){
Console.WriteLine(“Hien thi thoi gian hien hanh”);}int Nam, Thang, Ngay, Gio, Phut, Giay;
}public class Tester{
static void Main(){
ThoiGian t = new ThoiGian();t.ThoiGianHienHanh();}
}
o th hi n l p ThoiGian và gán cho i t ng t
Hàm Main s d ng ph ng th c c a t17
Tham s c a ph ng th c
public void SomeMethod(int p1, float p2){
Console.WriteLine(“hai tham so: {0} va {1}”, p1,p2);}
18
2.2 Object
• Khái ni m• Khai báo• Kh i t o bi n thành viên• Hàm d ng sao chép• T khoá this• B kh i d ng• Hu i t ng
19
Khái ni m
• Nh ng v t h u hình
• mó c• n i trong th
gi i th c• Mô c:
• Thu c nh• Hành ng
20
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 6: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/6.jpg)
14/05/2011
6
Ví d
Thu c nh Hành ng
Xe h i Lo iMàu
ng c
Ch yTri n lãm
Chó Gi ngGi i nhMàu lôngTu i
na
Ch y
Hoa Lo iMàu To ng
Nhà p trí Cho thuê
Bán không
21
Nh n xét
• Trong ph n m m, mô t các i t ng :– Tr ng thái (thu c tính)– Hành vi (hành ng)
• S thu n l i khi s d ng i t ng (object) :– Nó giúp chúng ta hi u h n v th gi i th c– Nó ánh x các thu c tính và các hành ng c a
các i t ng trong th gi i th c thành tr ng thái và hành vi c a các i t ng ph n m m
22
Khai báo
• T o m t i t ng cho l p nào ó t ng t nhvi c g i th c hi n m t ph ng th c c a l p ó
ThoiGian t = new ThoiGian();
o th hi n l p ThoiGian và gán cho i t ng tHo c
o i t ng t là th hi n c a l p ThoiGian
23
Ví dusing System;public class ThoiGian{
public void ThoiGianHienHanh(){
Console.WriteLine(“Hien thi thoi gian hien hanh”);}int Nam, Thang, Ngay, Gio, Phut, Giay;
}public class Tester{
static void Main(){
ThoiGian t = new ThoiGian();t.ThoiGianHienHanh();}
}
o th hi n l p ThoiGian và gán cho i t ng t
Hàm Main s d ng ph ng th c c a t
24
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 7: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/7.jpg)
14/05/2011
7
Kh i t o bi n thành viên
• Kh i t o các bi n thành viên:– Tr c ti p khi khai báo – Kh i t o trong b kh i d ng
th c hi n vi c kh i t o ta ch vi c s d ng phép gán giá tr cho m t bi n:
private int Giay = 30;
25
Hàm d ng sao chép
• Là th c hi n vi c t o m t i t ng m i b ng cách sao chép t t c các bi n t m t i t ng ã có và cùng m t ki u d li u
• Ví d :– Chúng ta mu n a m t i t ng ThoiGian vào b
kh i d ng l p ThoiGian t o m t i t ng ThoiGian m i có cùng giá tr v i i t ng ThoiGian
– Hai i t ng này hoàn toàn khác nhau và ch gi ng nhau giá tr bi n thành viên sao khi kh i d ng.
26
Ví d
public ThoiGian( ThoiGian tg){
Nam = tg.Nam;Thang = tg.Thang;Ngay = tg.Ngay;Gio = tg.Gio;Phut = tg.Phut;Giay = tg.Giay;
}
ThoiGian t2 = new ThoiGian( t1 );
Trong ó t1 là i t ng ThoiGian ã t n t i, sau khi l nh trên th c hi n xong thì i t ng t2 c t o ra nh b n sao c a i t ng t1
27
khóa this
• T khóa this :c dùng tham chi u n th hi n hi n hành c a m t
i t ngc dùng tham chi u n nh ng ph ng th c khác và
các bi n thành viên • Tham chi u this này c s d ng th ng xuyên
theo ba cách:– S d ng khi các bi n thành viên b che l p b i tham s
a vào truy n i t ng hi n hành vào m t tham s c a m t
ph ng th c c a i t ng khác– S d ng tham chi u this là m ng ch m c (indexer)
28
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 8: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/8.jpg)
14/05/2011
8
Code
public void SetYear( int Nam){
this.Nam = Nam;}
public void Method1( OtherClass otherObject ){
// truy n tham s là b n // thân i t ng ang th c hi n.otherObject.SetObject( this );
}
29
kh i d ng
• Khái ni m – Ch c n ng• T o b kh i d ng• Gán giá tr • S d ng các thành viên t nh• S d ng b kh i t o t nh• S d ng b kh i d ng private• S d ng các thu c tính t nh
30
Khái ni m – Ch c n ng
• M t ph ng th c s c g i th c hi n khi chúng ta t o m t i t ng. Ph ng th c này c g i là
kh i d ng (constructor):c nh ngh a khi xây d ng l p
– N u ta không t o ra thì CLR s t o ph ng th c kh i ng m t cách m c nh
• Ch c n ng c a b kh i d ng:– Là t o ra i t ng c xác nh b i m t l p và t
tr ng thái này là h p l– Sau khi b kh i d ng th c hi n hoàn thành thì b nh s
u gi m t th hi n h p l c a l p v a khai báo
31
Ch a có b kh i d ng
public class ThoiGian{
public void ThoiGianHienHanh(){
Console.WriteLine(“Hien thi thoi gian hien hanh”);}int Nam, Thang, Ngay, Gio, Phut, Giay;
}
32
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 9: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/9.jpg)
14/05/2011
9
o b kh i d ngusing System;public class ThoiGian{
public void ThoiGianHienHanh(){
Console.WriteLine(“Thoi gian hien hanh la : {0}/{1}/{2} {3}:{4}:{5}”, Ngay, Thang, Nam, Gio, Phut, Giay);
}public ThoiGian( System.DateTime dt ){
Nam = dt.Year; Thang = dt.Month; Ngay = dt.Day;Gio = dt.Hour; Phut = dt.Minute; Giay = dt.Second;
}int Nam, Thang, Ngay, Gio, Phut, Giay;}public class Tester{
static void Main(){
System.DateTime currentTime = System.DateTime.Now;ThoiGian t = new ThoiGian( currentTime );t.ThoiGianHienHanh();
}}
nh ngh a b kh i d ng riêngNgh a là
nh ngh a m t ph ng th c có tên gi ng tên l p ã khai báo
P ng th c kh i d ng l y m t i t ng DateTime và kh i t o t t c cácbi n thành viên d a trên giá tr c a i t ng này. Khi ph ng th c này th c hi n xong, m i t ng ThoiGian c t o ra và các bi n c a i t ng c ng ã c kh i t o. Hàm ThoiGianHienHanh c g i trong hàm Main() s hi n th
giá tr th i gian lúc i t ng c t o ra33
Giá tr m c nh
• Các bi n trong kh i ng c nh nh n các giá tri c nh nh sau
• Ng i d ng có th gán giá tr khác cho các bi n này
34
d ng các thành viên t nh (static member)
• Nh ng thu c tính và ph ng th c trong m t l p có th là nh ng thành viên :– Th hi n (instance members) : thành viên c a i
ng liên quan n th hi n c a m t ki u d li u– T nh (static members) : c xem nh m t ph n c a
p• Chúng ta có th truy c p n thành viên t nh c a
t l p thông qua tên l p ã c khai báo mà không c n t o m t th hi n l p
35
using System;public class Class1{
public void SomeMethod(int p1, float p2){
Console.WriteLine(“Ham nhan duoc hai tham so: {0} va {1}”, p1,p2);}
}public class Tester{
static void Main(){
int var1 = 5;float var2 = 10.5f;Class1 c = new Class1();c.SomeMethod( var1, var2 );
}}
• SomeMethod là ph ng th c không nh c a l p Class1
• Main() là m t ph ng th c t nh• Ph ng th c t nh không th truy c p
tr c ti p n các thành viên không có tính ch t t nh (nonstatic)
• Gi i quy t :• truy c p c ph ng th c này, ta
ph i t o m t i t ng c là th hi n a l p Class1
36
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 10: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/10.jpg)
14/05/2011
10
d ng b kh i d ng t nh
1. o kh i ng nh
2. Khai báo biên thành viên ten d ng nh
3. Dòng nh d ng bi n thành viên ten trong ph ng th c không nh
37
d ng b kh i d ng private
• Ngôn ng C# không có ph ng th c toàn c c và h ng s toàn c c
• V y :– Ta có th t o ra nh ng l p ti n ích nh ch ch a
các ph ng th c t nh– Khi t o m t l p mà không cho phép t o b t k th
hi n nào c a l p thì ta s d ng b kh i d ng private
38
d ng các thu c tính t nh
• Ta không th t o c bi n toàn c c làm công vi c m s th hi n c a m t l p. V y làm sao ki m soát c s th hi n c a m t l p
c t o ra khi th c hi n ch ng trình
• Thông th ng các bi n thành viên t nh c dùng m s th hi n ã c c t o ra
a m t l p
39
kh i ng nh
Bi n thành viên nh
0 cats1 cats3 cats
40
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 11: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/11.jpg)
14/05/2011
11
Hu i t ng
• B hu c a C#• Ph ng th c Dispose• Ph ng th c Close• Câu l nh using
41
hu c a C#
~Class1(){
// Th c hi n m t s công vi c}
ng t ng t nh vi t :
Class1.Finalize(){
// Th c hi n m t s công vi cbase.Finalize();
}
42
Ph ng th c Dispose
public void Dispose(){
// Th c hi n công vi c d n d p// Yêu c u b thu d c GC trong th c hi n k t thúcGC.SuppressFinalize( this );
} public override void Finalize(){
Dispose();base.Finalize();
}
43
Ph ng th c Close
• Ph ng th c Close() d s d ng h n ph ng th c Dispose trong các i t ng có liên quan
n x lý t p tin• Ta có th xây d ng :
– Ph ng th c Dispose() v i thu c tính là private– Ph ng th c Close() v i thu c tính public; Trong
Close() g i th c hi n ph ng th c Dispose()
44
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 12: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/12.jpg)
14/05/2011
12
Câu l nh usingusing System.Drawing;class Tester{
public static void Main(){
using ( Font Afont = new Font(“Arial”,10.0f)){// n mã s d ng AFont.......}// Trình biên d ch s g i Dispose gi i phóng AFontFont TFont = new Font(“Tahoma”,12.0f);using (TFont){
// n mã s d ng TFont.......
}// Trình biên d ch g i Dispose gi i phóng TFont}
}
45
2.3 Truy n tham s cho ph ng th c
• Truy n tham tr• Truy n tham chi u
46
Truy n tham s giá tr
public void SomeMethod(int p1, float p2){
Console.WriteLine(“hai tham so: {0} va {1}”, p1, p2);}public class Tester{
static void Main(){
int var1 = 5; float var2 = 10.5f;Class1 c = new Class1();
c.SomeMethod( var1, var2 );}
}
5 10.5
5 10.5
5 10.5
5 10.5
47
Truy n tham chi u
• B sung tham s ref cho phép truy n các i ng giá tr vào trong ph ng th c theo ki u
tham chi u• B sung out trong tr ng h p mu n truy n
i d ng tham chi u mà không c n ph i kh i o giá tr ban u cho tham s truy n
• B sung params cho phép ph ng th c ch p nh n nhi u s l ng các tham s
48
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 13: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/13.jpg)
14/05/2011
13
0 0 0
0 0 0
49 50
Truy n tham chi u v i bi n ch a kh i t o
51
2.4 M t s v n b tr
Encapsulation -Tính óng gói Abstraction - Tr u t ng hóaInheritance - K th aPolymorphism - a hình
52
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 14: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/14.jpg)
14/05/2011
14
Encapsulation
53
Encapsulation
• Ph ng th c get:– Tr v m t i t ng ki u là m t c tính c a l p– Cú pháp: get { return <tên bi n>;}
• Ph ng th c set:– Thi t l p giá tr m t property c a i t ng và có tr
tr v là void– Có th ghi vào CSDL hay c p nh t bi n thành viên
khi c n– Cú pháp: set {<tên bi n> = value;}
54
Abstraction
ng v t có vú
Chó Mèo n
55
Abstraction
windows
button
Checkbox
radiobutton
commandbox
listbox
56
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 15: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/15.jpg)
14/05/2011
15
Abstraction
• Là l p có ít nh t m t ph ng th c tr u t ng• Ph ng th c tr u t ng :
– Không có s th c thi– Ch n gi n t o ra m t tên ph ng th c và kí hi u
ph ng th c– Nó không nh ngh a ph n thân, thay vào ó chúng c
cài t trong ph ng th c ghi è c a l p d n xu t• Khai báo l p tr u t ng :abstract class viduloptruutuong{
// Code of members}
57
Inheritance
• Trong ngôn ng C#, quan h c bi t hóa c th c thi b ng cách s d ng s k th a
ây cách chung nh t và t nhiên nh t th c thi quan h này
• Trong ngôn ng C# t o m t l p d n xu t t t l p ta thêm d u hai ch m () : ) vào sau tên
p d n xu t và tr c tên l p c s
public class ListBox : Window
58
Inheritancen
windows
button
Checkbox
radiobutton
commandbox
listbox
• Ta có th nói ListBox th a hay c d n xu t
Window :• Window là l p c s• ListBox là l p d n
xu t• Nh v y, ListBox :
• D n xu t t t c các thu c tính và hành vi
l p Window • Thêm nh ng ph n c
bi t riêng xác nh n ListBox
59 60
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com
![Page 16: Ch Ç ¿ ng 5 Object - Oriented Programming · 14/05/2011 1 Ch Ç ¿ng 5 Object - Oriented Programming 1 5.1 M ¾t s º khái ni µm c ¿ b £n 5.2 Ti ±p c ¨n l ¨p trình h Ç](https://reader033.vdocuments.us/reader033/viewer/2022041816/5e5af91297cdf70a78632723/html5/thumbnails/16.jpg)
14/05/2011
16
Polymorphism
• Có hai cách th c khá m nh th c hi n vi c k th a :– M t là s d ng l i mã ngu n– Hai là s d ng tính a hình (polymorphism)
61
a hình
62
d ng
t o m t ph ng th c h tính a hình, chúng ta c n ph i khai báo khóa virtual trong ph ng th c c a l p c s
public class ListBox : Window
public virtual void DrawWindow()
63
Câu h i
• L p là gì ? i t ng là gì?• L p tr u t ng là th nào? Có th t o i t ng cho l p
tr u t ng hay không?• Có ph i khi t o m t l p thì ph i k th a t m t l p nào
không?• Có th k th a t m t l p c s c vi t trong ngôn
ng khác ngôn ng C#?• Khái ni m a hình là gì? Khi nào thì c n s d ng tính a
hình?• T khóa new c s d ng làm gì trong các l p?• Hãy xây d ng cây phân c p các l p i t ng sau:
Xe_Toyota, Xe_Dream, Xe_Spacy, Xe_BMW, Xe_Fiat, Xe_DuLich, Xe_May, Xe?
64
Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software.c
om Click t
o buy NOW!
PDF-XChange
ww
w.tracker-software
.com