Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 18

CC KHI NIM C BN V LP TRNH HNG I TNG

Chng 02- Cc khi nim c bn trong OOP

Slide 1/ 1

VC

& BB

Mc tiu

Nm vng mt s nh ngha trong OOP bao gm: Tru tng ha d liu. Lp, i tng, th hin. Thng ip v gi thng ip. Tnh bao ng. Tnh k tha. Tnh a hnh
Slide 2/ 2

Chng 02- Cc khi nim c bn trong OOP

VC

& BB

Ni dung
Kiu d liu tru tng (abstract data type) i tng-Lp-th hin Thng ip (message) Tnh bao ng (encapsulation) Tnh k tha (inheritance) Tnh tng ng bi-a hnh (polymorphism) Lp v i tng trong Java

Chng 02- Cc khi nim c bn trong OOP

Slide 3/ 3

VC

& BB

Kiu d liu tru tng

Abstract Data Type. Kt qa ca vic khi qut ha cc thc th.


1 -3 5 7 8 .... Khi qut ha int, NGUOI, PERSON l cc ADT S nguyn ( int )

Danh t chung trong ngn ng t nhin Ngi ( PERSON ) <Code, Name, date_of_birth, Address, e-mail .......> Slide 4/ 4

Khi qut ha

attributes

Chng 02- Cc khi nim c bn trong OOP

VC

& BB

2.2- i tng, Lp, Th hin

POP: ADT dng struct + cc functions OOP : <ADT + Functions> Lp (Class): i din ca mt tp cc i tng (object) cng loi Cng m t, cng hnh vi. Th hin instance: i din ca mt i tng (cc thuc tnh c gi tr c th).

Chng 02- Cc khi nim c bn trong OOP

Slide 5/ 5

VC

& BB

Thng ip, thng bo - Message

Send a message: Yu cu 1 i tng thc thi mt hnh vi (gi thc hin mt phng thc no ca i tng). Th d: x l mt HOCSINH < Name, Age> x.VietLyLich(); String S= x.getName(); int n= x.getAge();

Chng 02- Cc khi nim c bn trong OOP

Slide 6/ 6

VC

& BB

Bao ng - Encapsulation
class NGI Tn NmSinh TnNgiYu .... TiuHa() Nut() i() ng() Chy() Nhy() .......

Che du i d liu. Bn ngoi ch tng tc c vi i tng qua mt s phng thc.

getTen() getNamSinh() getTenNguoiYeu()

Chng 02- Cc khi nim c bn trong OOP

Slide 7/ 7

VC

& BB

Bao ng.....
class CIRLCE

public int getX()


public void setX(int xx) public int getY() public void setY(int yy) int x, y, r; int BorderColor; int BkColor;

Vi khai bo ny, bn ngoi c th truy cp 2 thuc tnh mu hay khng?

public int getR()


public void setR(int r) public double getPerimeter() public double getArea()

Chng 02- Cc khi nim c bn trong OOP

Slide 8/ 8

VC

& BB

Gi khi thit k mt lp

Ta cn bit nhng thng tin g v mt i tng thuc lp ny. D liu cn m t. Ta (bn ngoi) thc s cn x l g (ng t) trn i tng Hnh vi giao tip (public). c c hnh vi giao tip, c cn nhng x l thm m bn ngoi khng cn bit hay khng? Hnh vi ni (private).
Chng 02- Cc khi nim c bn trong OOP

Slide 9/ 9

VC

& BB

Bi tp ti ch

Thit k lp m t v x l mt hc sinh, bit rng hc sinh phi hc 3 mn hc.

Chng 02- Cc khi nim c bn trong OOP

Slide 10/ 10

VC

& BB

Tnh k tha- Inheritance

K thut cho php ti s dng code Tit kim cng sc xy dng + test. Mt lp c tha hng cc thnh vin khng phi l private t lp c. Quan h lp cha-lp con. Tha k n (single inheritance): Mt lp ch c th c ti a mt lp cha. Tha k bi (a tha k, multi-inheritance): Mt lp ch c th c nhiu lp cha. Mi ngn ng h tr kh nng tha k khc nhau: C++: a tha k, Java, C#: n tha k.

Chng 02- Cc khi nim c bn trong OOP

Slide 11/ 11

VC

& BB

Tha k...
class PERSON ID_Num Name YearOfBirth Address getID_Num() setID_Num(newID) ...... class STUDENT RollNum Score getScore() setSore(newScore) ......

c ci tng ng
class STUDENT ID_Num Name YearOfBirth Address getID_Num() setID_Num(newID) ...... RollNum Score getScore() setSore(newScore) ...... Con = Cha + mt t

tha k

quan h l 1

tnh cht ring

Ch phi hin thc bng ny

Chng 02- Cc khi nim c bn trong OOP

Slide 12/ 12

VC

& BB

K thut phn cp tha k

(1) Lit k c im ca cc loi i tng cn quan tm. (2) Tm tp giao ca cc tnh cht gia cc lp, tch tp giao ny xy dng lp cha. (3) t 1 tn gi c ngha cho lp cha. (4) Phn cn li sau khi tch tp giao l cc lp con.
Chng 02- Cc khi nim c bn trong OOP

Slide 13/ 13

VC

& BB

Tha k - Bi tp lm ti ch

Phn tch phn cp tha k cho cc lp: Hng in my <m hng, tn hng, nh sn xut, gi, thi gian bo hnh, in p, cng sut> Hng snh s < m hng, tn hng, nh sn xut, gi, loi nguyn liu> Hng thc phm <m hng, tn hng, nh sn xut, gi, ngy sn xut, ngy ht hn dng>

Chng 02- Cc khi nim c bn trong OOP

Slide 14/ 14

VC

& BB

Tha k- Bi tp v nh

Phn tch phn cp tha k cho cc i tng trong mt hc vin: Nhn vin qun l <m nv, tn nv, nm sinh, trnh , trng o to, chuyn mn, lng cb, ph cp chc v> Nhn vin nghin cu <m nv, tn nv, nm sinh, trnh , trng o to, chuyn mn, lng cb, ph cp c hi> Nhn vin phc v<m nv, tn nv, nm sinh, trnh , lng cb>
Chng 02- Cc khi nim c bn trong OOP

Slide 15/ 15

VC

& BB

Tnh a hnh-Polymorphism

K thut cho php nhiu phng thc khc nhau c cng tn. C hai cch thc hin a hnh: Overloading: cc phng thc trong cng mt class c cng tn Overriding: Phng thc ca class con trng tn vi phng thc ca class cha

Chng 02- Cc khi nim c bn trong OOP

Slide 16/ 16

VC

& BB

V d v Overloading Methods

17

VC

& BB

V d Overriding Methods

18

You might also like