Tải bản đầy đủ (.pptx) (17 trang)

Hướng đối tượng java căn bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (201.79 KB, 17 trang )

Java căn bản
Hướng đối tượng


Định nghĩa:
1. Package
-.

Là một cơ chế dùng để tổ chức và quản lý các lớp trong Java.

-.

Mỗi Package là một thư mục chứa các lớp.

-.

Ý nghĩa:
+ Giúp tránh trùng tên lớp.
+ Giúp tổ chức và quản lý các lớp.

-. Có 2 loại Package:
+Package đã được định nghĩa sẵn (java.io, java.util, v.v...)
+Package do người dùng định nghĩa.
VD:

package myPackage
class Myclass


2. Lớp
- Lớp là bản mẫu hay một kiểu chung cho tất cả những đối


tượng có những đặc trưng giống nhau.
- Mỗi đối tượng chính là thể hiện (một cá thể, đại diện) của một
lớp xác định.

Public class Stack
{
private Vector items;
}


Các thuộc tính của lớp
•public
+Lớp Public:
+Là lớp được khai báo với từ khóa public và lớp này có thể truy cập được tại bất cứ đâu.
++Chú ý: Khai báo lớp chỉ có 2 trường hợp: Dùng từ khóa public hoặc không dùng gì cả
(ngầm định là default)
+Thuộc tính / Phương thức public: ...

•protected
+ Các thành phần của lớp được khai báo protected có thể truy cập bởi các lớp con và các
lớp cùng package.

•private
+Là những thành phần chỉ truy cập được trong Nội bộ lớp, các lớp khác không thể truy cập
được.


Các thuộc tính của lớp (tt)
• abstract
abstract class

+Là lớp trừu tượng - không thể khởi tạo đối tượng từ các lớp trừu trường. Là những
lớp chưa hoàn thành, sẽ được cài đặt cụ thể, được mở rộng bởi các lớp con.
+Khai báo từ khóa abstract trước class khi khai báo.
+Lớp abstract thường được sử dụng làm lớp cha (siêu lớp) khi ta
khởi tạo các đối tượng từ các siêu lớp đó.

• Final class
+Là lớp đã kết thúc - Không thể kế thừa.
• PHP Code:
• final class member extends UIT_Student
• +Được sử dụng khi không muốn cho các lớp khác kế thừa.

không muốn


Hàm trong lớp
• abstract method
+Là những phương thức trừu tượng, chỉ khai báo chứ không có nội dung.
+Khi một lớp con kế thừa một lớp cha, nó sẽ phải override tất cả các abstract
của lớp cha.
+Chú ý: Khi một lớp chứa abstract method thì cũng phải khai báo là abstract
class.
• Final method
+Là các phương thức không thể override
final void get_name()
{
}


Hàm trong lớp

Hàm khởi tạo (Constructor)
Có những thao tác cần thực hiện mỗi khi đối tượng lần đầu tiên được tạo như khởi
tạo giá trị cho các biến. Các công việc này có thể làm tự động bằng cách dùng hàm
khởi tạo.
Ví dụ : - kích thước hộp được khởi tạo tự động khi đối tượng được tạo.
class Box {
double width;
double height;
double depth;
double volume() {
return width * height * depth;
}


Box(double w, double h, double d) {
width = w;
height = h;
depth = d;
}
}
class BoxDemo {
public static void main (String args[ ]) {
Box myBox1 = new Box(10,20,15);
Box myBox2 = new Box(3,6,9);
double vol;
vol = myBox1.volume();
System.out.println(“Thể tích là : “+vol);
vol = myBox2.volume();
System.out.println(“Thể tích là : “+vol);
}

}


CƠ CHẾ TRIỂN KHAI MÔ HINH HƯỚNG ĐỐI
TƯỢNG
1. Tính thừa kế:
+Cơ chế thừa kế cho phép một lớp thừa hưởng các thuộc tính / phương thức của lớp
khác.
+Lớp cho các lớp khác thừa kế gọi là siêu lớp - Super class. Lớp thừa kế từ các lớp khác gọi
là lớp con - sub class.
+Trong Java để khai báo một Lớp Thừa kế từ một lớp khác ta dùng từ khóa extends;
+Trong Java không có đa thừa kế - Mỗi lớp chỉ được kế thừa từ một lớp cha. Nhưng một lớp
có thể được kề thừa bởi nhiều lớp con.
Ví dụ:
class UIT_Student
{
}
class member extends UIT_Student
{
}


CƠ CHẾ TRIỂN KHAI MÔ HINH HƯỚNG ĐỐI
TƯỢNG
2. Tính đóng gói:
- Là kỹ thuật của Java, dùng để phân hoạch không gian tên
lớp, giao diện thành những vùng dễ quản lý hơn, thể hiện tính
đóng gói của Java.



CƠ CHẾ TRIỂN KHAI MÔ HINH HƯỚNG ĐỐI
TƯỢNG
3. Tính đa hình(Overloading):
Khi một lớp được kế thừa từ các lớp tổ tiên thì nó có thể thay
đổi cách thức làm việc của lớp tổ tiên trong một số phương thức
nào đó (nhưng tên, kiểu trả về, danh sách tham đối của phương
thức thì vẫn giữ nguyên).
Overloading được dùng khi ta muốn định nghĩa nhiều cách
thực hiện cho cùng một hành vi của lớp.


CƠ CHẾ TRIỂN KHAI MÔ HINH HƯỚNG ĐỐI
TƯỢNG
• Ví dụ:
public int sum(int num1, int num2)
{
return (num1 + num2)
}
public int sum(int num1, int num2, int num3)
{
return (num1 + num2 + num3)
}
//Đối số có kiểu dữ liệu khác nhau
public display(int a)
{
System.out.println(a);
}
public display(float a)
{
System.out.println(a);

}


Overriding
+Là quá trình lớp con định nghĩa lại một phương thức của lớp
cha (Ghi đè)
+Cả 2 phương thức ở lớp cha và lớp con phải cùng tên, cùng
danh sách đối số, cùng kiểu trả về.
+Phương thức ở lớp con phải có mức truy cập cap hơn hoặc
bằng với phương thức ở lớp cha.
+VD: Phương thức ở lớp cha thiết lập là protected thì phương
thức ở lớp con phải thiết lập tối thiểu là protected không được
thấp hơn.


Overriding
class member
{
protected int _permission()
{
return 0;
}
}
class admin extends member
{
public int _permission()
{
return 1;
}
}



Interface
+ Là một dạng như lớp cha cho phép (Hỗ trợ cơ chế Đa thừa kế
) Hỗ trợ Đa thừa kế cho Java chứ không phải là Đa thừa kế.Interface
không có nội dung mà chỉ có khai báo các thuộc tính / phương thức.
+ Trong Java một sub-class chỉ có thể thừa kế từ một Super-class nhưng có
thể cài nhiều Interface.
+ Tất cả các thuộc tính trong Interface mặc định sẽ là final variable. Các
phương thức mặc định sẽ là abstract method.
+ Sử dụng Interface khi ta muốn có cơ chế Đa thừa kế như C++ (Một lớp
kế thừa từ nhiều lớp cha)
+ Khi một lớp cài đặt một Interface nó sẽ phải cài đặt tất cả các phương
thức của Interface đó.
+ Sử dụng từ khóa implements để khai báo cài đặt Interface.


Interface
interface dv_an_thit
{
String an_thit = "Là loại động vật ăn thịt";
}
interface dv_duoi_nuoc
{
String duoi_nuoc = "Là loại động vật sống dưới nước"
}
class ca_map implements dv_an_thit,dv_duoi_nuoc
{
}
public class Main

{
public static void main(String[] args)
{
System.out.println("finish");
ca_map _a = new ca_map();
System.out.println("Đặc điểm của cá mập:");
System.out.println(_a.an_thit);
System.out.println(_a.duoi_nuoc);
}
}


– thanks



×