Professional Documents
Culture Documents
Bai Giang 03
Bai Giang 03
Bai Giang 03
Ni dung
Gii thiu v lp trnh hng i tng (OOP) Cc lp c nh ngha trc Trng v phng thc Static Cc tham s ca phng thc Constructor Getter/Setter
OOP: Ngc li
T chc d liu trc a ra thut ton thao tc d liu.
Class
Mt class l mt mu hay mt s thit k cho mt i tng thc t. Khi xy dng mt object t mt class, ta ni to mt th hin (instance) ca class.
c im ca Object
Hnh vi ca object: ci ta c th lm vi object ny hay cc phng thc ta c th s dng cho n. Trng thi ca object: Object s nh th no nu s dng cc phng thc. Chng thc ca object: Object c phn bit nh th no nu c cng trng thi v hnh vi.
10
11
V d v class Date
Xem file TestCalendar.java
13
NH NGHA MT CLASS MI
14
nh dng mt class
class ClassName { constructor1 constructor2 ... method1 method2 ... field1 field2 ... }
15
class Employee { // constructor public Employee(String n, double s, int year, int month, int day) { name = n; salary = s; GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); hireDay = calendar.getTime(); } // a method public String getName() { return name; } // more methods ... // instance fields private String name; private double salary; private Date hireDay; }
16
Constructor
Constructor c tn nh tn class. Mt class c th c nhiu constructor. Mt constructor c th khng c, c mt hoc nhiu tham s. constructor khng tr v gi tr. constructor lun c gi vi ch th new
17
Constructor
C 3 loi
Constructor mc nh (Khng c tham s). Constructor tham s. Constructor sao chp.
18
20
21
Private Methods
Cc phng thc ch c s dng trong ni b class v khng c k tha. C th c loi b m khng nh hng n cc class dn xut.
22
24
Static Fields
class Employee { ... private int id; private static int nextId = 1; }
Static Field
public void setId() { id = nextId; nextId++; }
Ngha l:
harry. id = Employee .nextId; Employee. nextId++;
26
Static Methods
Cc phng thc thuc mc lp. Truy xut thng qua tn lp khng phi qua i tng.
27
Static Method
package bt1; public class Main { public static void main(String[] args) { PhanSo ps1=PhanSo.parsePhanSo(2/3); PhanSo ps2=PhanSo.parsePhanSo(3/4); PhanSo kq1=ps1.cong(ps2); kq1.xuat(Tng hai phn s ps1 v ps2); PhanSo kq2=ps1.cong(40); kq2.xuat(Tng hai phn s ps1 v 40); }
28