Bài giảng lập trình java - Bài 2
lượt xem 40
download
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),...
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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
CÔNG NGHỆ JAVA ( Nguyễn Hữu Nghĩa ) - 5. J2ME
18 p | 184 | 55
-
CÔNG NGHỆ JAVA ( Nguyễn Hữu Nghĩa ) - 1.1 Giới thiệu
8 p | 166 | 43
-
Đề cương bài giảng Java cơ sở - Chương 3
8 p | 109 | 19
-
Bài giảng Lập trình Java cơ bản: Chương 2 - GV. Võ Hoàng Phương Dung
19 p | 139 | 19
-
Lập trình Java căn bản - Chương 2 Ngôn ngữ JAVA
12 p | 74 | 8
-
Bài giảng Lập trình Java 2 - Bài 1: Packages và Interfaces
20 p | 45 | 6
-
Bài giảng Lập trình Java: Bài 2 - Bùi Trọng Tùng
15 p | 64 | 6
-
Bài giảng Lập trình hướng đối tượng với Java - Chương 2: Các khái niệm cơ bản về lập trình hướng đối tượng
16 p | 89 | 5
-
Bài giảng Lập trình Java: Chương 2 - Java cơ bản
20 p | 84 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - ĐH Bách Khoa Hà Nội
15 p | 31 | 3
-
Bài giảng Object-Oriented programming: Chương 1 (Bài 2) - Văn Thị Thiên Trang
14 p | 74 | 3
-
Bài giảng Lập trình Java: Buổi 2 - Industrial university of Ho Chi Minh City
18 p | 74 | 2
-
Bài giảng Tin học đại cương 2: Chương 10a - Nguyễn Thị Mỹ Truyền
18 p | 27 | 2
-
Bài giảng Tin học đại cương 2: Giới thiệu môn học - Nguyễn Thị Mỹ Truyền
13 p | 43 | 2
-
Bài giảng Lập trình Java nâng cao: Bài 2.1 - Nguyễn Hữu Thể
14 p | 33 | 2
-
Bài giảng Lập trình Java - Chương 1: Tổng quan về Java
20 p | 30 | 2
-
Bài giảng Công nghệ Java: Bài 2.2 - Nguyễn Hữu Thể
14 p | 42 | 1
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