intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng lập trình java - Bài 2

Chia sẻ: Nguyen Van Nam | Ngày: | Loại File: PDF | Số trang:11

148
lượt xem
40
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung chương 3: Khaí niệm về lớp và đối tượng, Cú pháp tạo lớp, Xây dựng và khởi tạo đối tượng, Tính thừa kế (Inheritance), Tính đa hình (Polymorphism), Lập trình với dữ liệu nhập, Một số lớp có sẵn của Java, Giao diện (Interface), Lớp trừu tượng (Abstract class),...

Chủ đề:
Lưu

Nội dung Text: Bài giảng lập trình java - Bài 2

  1. Bài gi ng L P TRÌNH JAVA Lê ðình Thanh B môn M ng và Truy n thông Máy tính Khoa Công ngh Thông tin Trư ng ð i h c Công ngh , ðHQGHN Lê ðình Thanh, L p và ñ i tư ng trong Java Bài 2 L p và ñ i tư ng Lê ðình Thanh, L p và ñ i tư ng trong Java
  2. N i dung • Khai báo l p Khai báo trư ng • Khai báo phương th c • – Ch ng phương th c – Phương th c t o – Tham s Khai báo ñ i tư ng • S d ng ñ i tư ng • ð i tư ng this • • L p l ng nhau • Gói l p • Ph m vi truy c p • Ki u li t kê Lê ðình Thanh, L p và ñ i tư ng trong Java Khai báo l p [public/private] class TênL p { //các trư ng (field), //phương th c t o (constructor) //phương th c khác (method) } Lê ðình Thanh, L p và ñ i tư ng trong Java
  3. Khai báo trư ng Ph m_vi_truy_c p Ki u tên_trư ng; public class Bicycle { private int cadence; private int gear; private int speed; } Ph m vi truy c p có th là: public/private/… Lê ðình Thanh, L p và ñ i tư ng trong Java Khai báo phương th c Ph m_vi_truy_c p Ki u tên_pt (danh_sách_tham_s ) { các l nh return bi u_th c n u Ki u khác void } public class Bicycle { public int speedUp(int increment) { speed += increment; return speed; } } Ph m vi truy c p có th là: public/private/… Lê ðình Thanh, L p và ñ i tư ng trong Java
  4. Ch ng phương th c M t l p có th có nhi u phương th c cùng (ch ng - overload) tên - Các phương th c ch ng nhau ph i khác nhau v s lư ng/ki u tham s . public class DataArtist { public void draw(String s) { ... } public void draw(int i) { ... } public void draw(double f) { ... } public void draw(int i, double f) { ... } } Lê ðình Thanh, L p và ñ i tư ng trong Java Phương th c t o Phương th c t o là m t phương th c ñ c bi t - Có tên trùng tên l p - Không có ki u (ng m ñ nh ki u là l p) - ðư c g i ng m ñ nh khi ñ i tư ng c a l p ñư c t o public class Bicycle { public int cadence; public int gear; public int speed; public Bicycle(int sCadence, int sSpeed, int sGear) { gear = sGear; cadence = sCadence; speed = sSpeed; } Lê ðình Thanh, L p và ñ i tư ng trong Java Lê
  5. Tham s c a phương th c M t phương th c có th có 0, 1 ho c nhi u tham s Tham s c a phương th c có th là bi n ho c m ng public void moveCircle(Circle circle, int deltaX, int deltaY) {…} public Polygon polygonFrom(Point [] corners) {…} public Polygon polygonFrom(Point... corners) { int numberOfSides = corners.length; … } Lê ðình Thanh, L p và ñ i tư ng trong Java Khai báo ñ i tư ng TênL p tên_ñ i_tư ng = new Phương_th c_t o(tham_s ) Point originOne = new Point(23, 94); Rectangle rectOne = new Rectangle(originOne, 100, 200); Rectangle rectTwo; //rectTwo == null rectTwo = new Rectangle(50, 100); //rectTwo != null Chú ý: Khi chưa g i phương th c t o và gán k t qu cho ñ i tư ng, ñ i tư ng ch m i có tên và ñang b ng null Lê ðình Thanh, L p và ñ i tư ng trong Java
  6. S d ng ñ i tư ng V i trư ng và phương th c thu c ph m vi truy c p • objectReference.fieldName; • objectReference.methodName(argumentList); Bicycle b = new Bicycle(12, 5, 6); b.speedUp(5) ; Lê ðình Thanh, L p và ñ i tư ng trong Java this Trong phương th c c a l p, t khóa this có nghĩa “ñ i tư ng hi n t i” ho c phương th c t o public Rectangle() { this(0, 0, 0, 0); } public Rectangle(int width, int height) { this(0, 0, width, height); } public Rectangle(int x, int y, int width, int height) { this.x = x; this.y = y; this.width = width; this.height = height; } Lê ðình Thanh, L p và ñ i tư ng trong Java
  7. Nhóm các l p theo gói package p package p package q package s package q class A class C class A class B class B … class D package s Các l p ñư c t ch c qu n lý thành các gói (package) class C Gi a các gói có quan h “ch a”: Gói p ch a gói q class D Gi a gói và l p có quan h “ch a”: Gói p ch a l p C Quan h “ch a” gi a các gói và gi a gói v i l p t o thành cây Lê ðình Thanh, L p và ñ i tư ng trong Java Tên gói và tên l p • Tên gói = Tên_gói_cha.Tên_gói_con package p • Tên l p = Tên_gói.Tên_l p package q p.q //gói q class A p.D //l p D class B p.q.A //l p A package s Khi không có s nh p nh ng, có th không class C c n dùng Tên_gói. trư c tên l p class D D tương ñương p.D Lê ðình Thanh, L p và ñ i tư ng trong Java
  8. Tên gói và tên l p Các gói cùng gói cha, các l p cùng gói package p không ñư c trùng tên nhau Các gói khác gói cha, các l p khác gói có package q th trùng tên class A p.q.A khác p.A class B package s class B class A Lê ðình Thanh, L p và ñ i tư ng trong Java S d ng l p trong gói • import TenGoi.TenLop; • import TenGoi.*; //t t c các l p trong gói • TenGoi.TenLop tenDoituong = new TenGoi.TenLop(); Lê ðình Thanh, L p và ñ i tư ng trong Java
  9. Ph m vi truy c p/tính kh ki n Các l p và nh ng trư ng, phương th c c a l p ñư c b o v • trư c truy c p trái phép. • Ph m vi truy c p l p: public: có th ñư c truy c p b i l p b t kỳ khác • • private: ch có th truy c p b i các l p cùng gói (m c ñ nh) Ph m vi truy c p phương th c và trư ng: • public: có th truy c p t l p b t kỳ thu c ph m vi truy • c p c a l p ch a private: không ñư c truy c p t b t kỳ l p nào khác • • protected: có th truy c p b i các l p cùng gói và các l p con Lê ðình Thanh, L p và ñ i tư ng trong Java Lê Các l p l ng nhau M t l p có th ñư c ch a trong/thành viên c a m t l p khác • L p trong, v i tư cách thành viên c a l p ch a, có th truy • c p m i thành ph n khác c a l p ch a, ñư c che b i l p ch a L p trong có th tĩnh (static) ho c không • Tĩnh: OuterClass.StaticNestedClass nestedObject = • new OuterClass.StaticNestedClass(); • Không tĩnh: OuterClass.InnerClass innerObject = outerObject.new InnerClass(); class OuterClass { class InnerClass { ... } } Lê ðình Thanh, L p và ñ i tư ng trong Java
  10. Các l p l ng nhau-Ví d public class EvenArray { private final static int SIZE = 15; private int[] arrayOfInts = new int[SIZE]; public EvenArray() { for (int i = 0; i < SIZE; i++) { arrayOfInts[i] = i; } } public void printEven() { InnerEvenIterator iterator = this.new InnerEvenIterator(); while (iterator.hasNext()) { System.out.println(iterator.getNext() + " "); } } private class InnerEvenIterator { private int next = 0; public boolean hasNext() {return (next
  11. Ti p theo Giao di n và k th a Lê ðình Thanh, L p và ñ i tư ng trong Java
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2