1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

17 428 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 75,58 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ừ k

Trang 1

Java căn bản

Hướng đối tượng

Trang 2

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.

class Myclass

Định nghĩa:

Trang 3

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;

}

Trang 4

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.

Trang 5

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ông muốn 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.

Trang 6

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()

{

}

Trang 7

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;

}

Trang 8

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); }

}

Trang 9

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

{

}

Trang 10

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

Trang 11

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.

Trang 12

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);

}

Trang 13

+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.

Trang 14

class member

{

protected int _permission()

{

return 0;

}

}

class admin extends member

{

public int _permission()

{

return 1;

}

}

Trang 15

+ 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.

Trang 16

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);

}

}

Trang 17

– thanks

Ngày đăng: 31/08/2016, 09:55

TỪ KHÓA LIÊN QUAN

w