YOMEDIA
ADSENSE
Bài giảng lập trình java - Bài 2
148
lượt xem 40
download
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),...
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng lập trình java - Bài 2
- 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
- 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
- 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
- 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ê
- 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
- 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
- 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
- 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
- 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
- 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
- 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
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn