Phương thức trong một lớp

Similar documents
CÀI ĐẶT MẠNG CHO MÁY IN LBP 3500 và LBP 5000

TÀI LIỆU Hướng dẫn cài đặt thư viện ký số - ACBSignPlugin

CHƯƠNG IX CÁC LỆNH VẼ VÀ TẠO HÌNH (TIẾP)

CHƯƠNG I. TỔNG QUAN VỀ HỆ THỐNG DCS- CENTUM CS 3000

Bài 15: Bàn Thảo Chuyến Du Ngoạn - cách gợi ý; dùng từ on và happening

BIÊN DỊCH VÀ CÀI ĐẶT NACHOS

CMIS 2.0 Help Hướng dẫn cài đặt hệ thống Máy chủ ứng dụng. Version 1.0

nhau. P Z 1 /(O) P Z P X /(Y T ) khi và chỉ khi Z 1 A Z 1 B XA XB /(Y T ) = P Z/(O) sin Z 1 Y 1A PX 1 P X P X /(Y T ) = P Z /(Y T ).

Chúng ta cùng xem xét bài toán quen thuộc sau. Chứng minh. Cách 1. F H N C

Bottle Feeding Your Baby

PHÂN TÍCH DIỄN BIẾN LƯU LƯỢNG VÀ MỰC NƯỚC SÔNG HỒNG MÙA KIỆT

PHÂN PHỐI CHUẨN. TS Nguyen Ngoc Rang; Website: bvag.com.vn; trang:1

5/13/2011. Bài 3: Báo cáo kết quả kinh doanh. Nội dung. Trình bày báo cáo kết quả kinh doanh

PREMIER VILLAGE PHU QUOC RESORT

CƠ SỞ DỮ LIỆU PHÂN TÁN

Giáo dục trí tuệ mà không giáo dục con tim thì kể như là không có giáo dục.

NATIVE ADS. Apply from 01/03/2017 to 31/12/2017

Savor Mid-Autumn Treasures at Hilton Hanoi Opera! Gìn giữ nét đẹp cổ truyền

CHƯƠNG VII HÌNH CẮT, MẶT CẮT VÀ KÍ HIỆU VẬT LIỆU

XÂY DỰNG MÔ HÌNH CƠ SỞ DỮ LIỆU PHÂN TÁN CHO HỆ THỐNG THÔNG TIN ĐẤT ĐAI CẤP TỈNH VÀ GIẢI PHÁP ĐỒNG BỘ HÓA CƠ SỞ DỮ LIỆU TRÊN ORACLE

PHÁT TRIỂN ỨNG DỤNG WEB

Chương 3: Chiến lược tìm kiếm có thông tin heuristic. Giảng viên: Nguyễn Văn Hòa Khoa CNTT - ĐH An Giang

QUY CÁCH LUẬN VĂN THẠC SĨ

Hướng dẫn cài Windows 7 từ ổ cứng HDD bằng ổ đĩa ảo qua file ISO bằng hình ảnh minh họa

The W Gourmet mooncake gift sets are presently available at:

Các bước trong phân khúc thi truờng. Chương 3Phân khúc thị trường. TS Nguyễn Minh Đức. Market Positioning. Market Targeting. Market Segmentation

Định hình khối. Rèn kim loại

KIỂM TOÁN CHU TRÌNH BÁN HÀNG VÀ NỢ PHẢI THU

CÁC BIỆN PHÁP BẢO VỆ THEO THỦ TỤC Quyền Giáo Dục Đặc Biệt của Gia Đình Quý vị

Model SMB Lưỡi dao, bộ phận cảm biến nhiệt và lòng bình bằng thép không gỉ 304 an toàn cho sức khỏe.

AT INTERCONTINENTAL HANOI WESTLAKE 1

So sánh các phương pháp phân tích ổn định nền đường đắp

Hiện nó đang được tân trang toàn bộ tại Hải quân công xưởng số 35 tại thành phố Murmansk-Nga và dự trù trở lại biển cả vào năm 2021.

NHỊP ĐẬP THỊ TRƯỜNG QUÝ 3, 2015

SAVOR MID-AUTUMN FESTIVAL WITH HILTON

Chương 17. Các mô hình hồi quy dữ liệu bảng

BÀI TẬP DỰ ÁN ĐÂU TƯ (Học kỳ 3. Năm )

BỘ THÔNG TIN VÀ TRUYỀN THÔNG TRUNG TÂM INTERNET VIỆT NAM TÀI LIỆU HƯỚNG DẪN TRIỂN KHAI DNSSEC TẠI CÁC NHÀ ĐĂNG KÝ TÊN MIỀN

ĐIỀU KHIỂN ROBOT DÒ ĐƯỜNG SỬ DỤNG BỘ ĐIỀU KHIỂN PID KẾT HỢP PHƯƠNG PHÁP PWM

Các dữ liệu của chuỗi thời gian đã và đang được sử dụng một cách thường xuyên và sâu rộng,

lõi ngôn ngữ trung gian của ActionScript.

Thỏa Thuận về Công Nghệ của UPS

2.1.3 Bảng mã ASCII Bộ vi xử lý (Central Processing Unit, CPU) Thanh ghi... 16

Thiết bị quang~ Bởi: Khoa CNTT ĐHSP KT Hưng Yên

Sổ tay cài đặt Ubuntu từ live CD

Để được hỗ trợ về sản phẩm, truy cập vào Đây là phiên bản trên Internet của xuất bản này. Chỉ in ra để sử dụng cá nhân.

BẢN TIN THÁNG 05 NĂM 2017.

Ths. Nguyễn Tăng Thanh Bình, Tomohide Takeyama, Masaki Kitazume

Hướng dẫn GeoGebra. Bản chính thức 3.0

GIỚI THIỆU. Nguồn: Nguồn:

CHỌN TẠO GIỐNG HOA LAN HUỆ (Hippeastrum sp.) CÁNH KÉP THÍCH NGHI TRONG ĐIỀU KIỆN MIỀN BẮC VIỆT NAM

Tng , , ,99

Điểm Quan Trọng về Phúc Lợi

Bài giảng Kiến trúc của hệ vi xử lý

Ô NHIỄM ĐẤT, NƯỚC VÀ CÁC PHƯƠNG PHÁP XỬ LÝ

HỌC SINH THÀNH CÔNG. Cẩm Nang Hướng Dẫn Phụ Huynh Hỗ Trợ CÁC LỚP : MẪU GIÁO ĐẾN TRUNG HỌC. Quốc Gia mọitrẻ em.mộttiếng nói

NGHIÊN CỨU ĐẶC ĐIỂM BIẾN ĐỘNG DÒNG CHẢY VÙNG VEN BIỂN HẢI PHÒNG

Chương1: CÁC THAO TÁC CƠ BẢN TRONG CORELDRAW

Register your product and get support at. POS9002 series Hướng dẫn sử dụng 55POS9002

TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP.HCM

Abstract. Recently, the statistical framework based on Hidden Markov Models (HMMs) plays an important role in the speech synthesis method.

MỞ ĐẦU... 1 CHƯƠNG I. TỔNG QUAN MỘT SỐ KHÁI NIỆM CƠ BẢN...

BẢN TIN THÁNG 09 NĂM 2015

MỐI QUAN HỆ GIỮA ĐỘ THOÁNG KHÍ CỦA BAO BÌ BẢO QUẢN CHẤT LƯỢNG CỦA NHÃN XUỒNG CƠM VÀNG TRONG QUÁ TRÌNH TỒN TRỮ

Những Điểm Chính. Federal Poverty Guidelines (Hướng dẫn Chuẩn Nghèo Liên bang) như được

Thông Tin Dành Cho Gia Đình và Bệnh Nhân. Mụn Trứng Cá. Nguyên nhân gây ra mụn trứng cá là gì? Các loại khác nhau của mụn trứng cá là gì?

ĐÁNH GIÁ ẢNH HƯỞNG CỦA CHIỀU RỘNG TẤM ĐẾN BIẾN DẠNG GÓC KHI HÀN TẤM TÔN BAO VỎ TÀU THỦY

Tiến tới hoàn thiện và triển khai hệ thống mô hình giám sát, dự báo và cảnh báo biển Việt Nam

SB 946 (quy định bảo hiểm y tế tư nhân phải cung cấp một số dịch vụ cho những người mắc bệnh tự kỷ) có ý nghĩa gì đối với tôi?

PHÂN TÍCH MÓNG CỌC CHỊU TẢI TRỌNG NGANG VÀ KỸ THUẬT LẬP MÔ HÌNH TƯƠNG TÁC CỌC-ĐẤT PHI TUYẾN

Các tùy chọn của họ biến tần điều khiển vector CHV. Hướng dẫn vận hành card cấp nước.

DANH SÁCH THÍ SINH DỰ THI IC3 IC3 REGISTRATION FORM

Các phương pháp thống kê mô tả cho dữ liệu chéo

KẾT QUẢ CHỌN TẠO GIỐNG NGÔ NẾP LAI PHỤC VỤ CHO SẢN XUẤT Ở CÁC TỈNH PHÍA NAM

CHƯƠNG IV CÁC KĨ THUẬT HIỆU CHỈNH CƠ BẢN

MICROMASTER kw 11 kw

CÁC PHƯƠNG PHÁP PHÂN TÍCH THỐNG KÊ ĐA BIẾN SỐ LIỆU NGHIÊN CỨU LÂM NGHIỆP BẰNG SAS

Tạp chí phân tích Hóa, Lý và Sinh học - Tập 20, số 3/2015

CHƯƠNG VIII GHI VÀ HIỆU CHỈNH KÍCH THƯỚC

CHẤT LƯỢNG MÔI TRƯỜNG NƯỚC BIỂN VEN BỜ ĐẢO PHÚ QUỐC

HƯỚNG DẪN SỬ DỤNG WORD CHƯƠNG I Làm quen với giao diện mới

Đường thành phố tiểu bang zip code. Affordable Care Act/Covered California Tư nhân (nêu rõ): HMO/PPO (khoanh tròn)

TCVN 3890:2009 PHƯƠNG TIỆN PHÒNG CHÁY VÀ CHỮA CHÁY CHO NHÀ VÀ CÔNG TRÌNH TRANG BỊ, BỐ TRÍ, KIỂM TRA, BẢO DƯỠNG

NGHIÊN CỨU CHỌN TẠO CÁC GIỐNG ĐẬU TƯƠNG BIẾN ĐỔI GEN KHÁNG RUỒI ĐỤC THÂN VÀ SÂU ĐỤC QUẢ

T I Ê U C H U Ẩ N Q U Ố C G I A TCVN 9386:2012. Xuất bản lần 1. Design of structures for earthquake resistances-

SỬ DỤNG ENZYME -AMYLASE TRONG THỦY PHÂN TINH BỘT TỪ GẠO HUYẾT RỒNG

Trịnh Minh Ngọc*, Nguyễn Thị Ngoan

NHÂN NUÔI CÂY HOA HỒNG CỔ SAPA (ROSA GALLICA L.) BẰNG KỸ THUẬT CẤY MÔ IN VITRO

khu vực ven biển Quảng Bình - Quảng Nam

khu vực Vịnh Nha Trang

(Phần Excel) - Hướng dẫn chi tiết cách giải (giải đầy đủ)

HỘI NGHỊ KHOA HỌC TOÀN QUỐC VỀ SINH THÁI VÀ TÀI NGUYÊN SINH VẬT LẦN THỨ 5

XÂY DỰNG GIẢN ĐỒ SỞ THÍCH SỬ DỤNG PHƯƠNG PHÁP FLASH PROFILE TRONG ĐÁNH GIÁ CHẤT LƯỢNG YAOURT TRÁI CÂY NHIỆT ĐỚI

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Số: 02/2014/TT-BTTTT Hà Nội, ngày 10 tháng 3 năm 2014 THÔNG TƯ

Hướng dẫn Sử dụng PubMed Created: August 01, 2004 Updated: February 03, 2006

TIÊU CHUẨN QUỐC GIA TCVN : 2013 IEC : 2009

Ông ta là ai vậy? (3) Who is he? (3) (tiếp theo và hết)

Ghi danh Bỏ phiếu tại Tiểu bang của quý vị bằng cách sử dụng Cẩm nang Hướng dẫn và Mẫu đơn dạng Bưu thiệp này

Tiến hành Nghiên cứu tổng quan - Phương pháp và công cụ hỗ trợ

Ngôn ngữ lập trình Fortran 90 Phan Văn Tân

Transcription:

Phương thức trong một lớp (Method) Bởi: Huỳnh Công Pháp Phương thức xác định giao diện cho phần lớn các lớp. Trong khi đó Java cho phép bạn định nghĩa các lớp mà không cần phương thức. Bạn cần định nghĩa phương thức truy cập dữ liệu mà bạn đã lưu trong một lớp. Phương thức được định nghĩa như một hành động hoặc một tác vụ thật sự của đối tượng. Nó còn được định nghĩa như một hành vi mà trên đó các thao tác cần thiết được thực thi. Cú pháp : access_specifier modifier datatype method_name(parameter_list) { //body of method } Trong đó: access_specifier: Chỉ định truy cập vào phương thức. modifier: Cho phép bạn đặt thuộc tính cho phương thức. datatype: Kiểu dữ liệu mà phương thức trả về. Nếu không có một giá trị nào được trả về, kiểu dữ liệu có thể là void. method_name: Tên của phương thức parameter_list: Chứa tên của tham số được sử dụng trong phương thức và kiểu dữ liệu. Dấu phẩy được dùng để phân cách các tham số. Khai báo phương thức trong một lớp : Đoạn mã sau đây định nghĩa lớp Temp chứa một giá trị nguyên (int). Lớp này chứa hai phương thức là: show() và main(). Cả hai phương thức đều có khả năng truy cập bên 1/5

ngoài lớp khi chúng được khai báo như public. Nếu chúng không trả về một giá trị nào, kiểu dữ liệu trả về được định nghĩa như kiểu void. Phương thức show() hiển thị một giá trị của biến x. Ở phương thức main(), hai thí dụ của đối tượng thuộc lớp Temp được khai báo. Đối tượng thứ nhất gồm giá trị mặc định của biến x. Nó được hiển thị ngay khi gọi phương thức show() lần đầu tiên. Giá trị của x được thay đổi dùng cho cho đối tượng thứ hai. Nó được hiển thị khi ta gọi phương thức show() lần thứ hai. class Temp { static int x=10;//variable public static void show()//method { System.out.println(x);} public static void main(string args[]) { Temp t = new Temp();// object 1 t.show();//method call Temp t1=new Temp();// object 2 t1.x=20; t1.show(); } } Các chỉ định truy xuất của phương thức Các chỉ định truy xuất dùng để giới hạn khả năng truy nhập vào một phương thức. Java cung cấp các chỉ định truy xuất sau đây: Công cộng (Public): Phương thức có chỉ định truy xuất public có thể được nhìn thấy từ mọi gói hoặc mọi lớp. Bảo vệ (Protected): Các lớp mở rộng từ lớp hiện hành trong cùng một gói, hoặc tại các gói khác nhau có thể truy cập các phương thức laọi này. Riêng tư (Private): Phương thức riêng tư chỉ có thể được truy cập nhờ phương thức công cộng itrong cùng một lớp. Các bổ nghĩa phương thức Các bổ nghĩa phương thức cho phép ta thiết lập các thuộc tính của phương thức. Java cung cấp các bổ nghĩa sau: Tĩnh (static): phương thức có thể được gọi mà không cần đến đối tượng. Nó chỉ được sử dụng đối với các dữ liệu và các phương thức tĩnh khác. Trừu tượng (abstract): Ngụ ý rằng phương thức không có một mã (code) và nó sẽ được bổ sung ở các lớp con (subclass). Loại phương thức này được sử dụng trong các lớp kế thừa. Kết thúc (final): Phương thức không thể được thừa kế hoặc ghi đè (Overridden). Tự nhiên (native): Chỉ ra rằng phần thân của phương thức được viết trên các ngôn ngữ khác Java ví dụ C, hoặc C++. 2/5

Đồng bộ (synchronized): Sử dụng với phương thức trong quá trình thực thi threads. Nó cho phép chỉ một thread được truy cập vào khối mã tại một thời điểm. Linh hoạt (volatile): Được sử dụng với các biến để thông báo rằng giá trị của biến có thể được thay đổi vài lần khi thực thi chương trình và giá trị của nó không được đặt vào thanh ghi. Bảng dưới đây chỉ ra nơi mà các bổ nghĩa được sử dụng: Sử dụng các bổ nghĩa Bổ nghĩa Phương thức Biến Lớp public Yes Yes Yes private Yes Yes Yes (Nested class) protected Yes Yes Yes (Nested class) abstrac Yes No Yes final Yes Yes Yes native Yes No No volatile No Yes No Nạp chồng (overloading) và Ghi đè (overriding) phương thức Những phương thức được nạp chồng (overload) là những phương thức trong cùng một lớp, có cùng một tên song có danh sách các tham số khác nhau. Sử dụng việc nạp chồng phương thức để thực thi các phương thức giống nhau đối với các kiểu dữ liệu khác nhau.ví dụ phương thức swap() có thể bị nạp chồng (overload) bởi các tham số của kiểu dữ liệu khác như integer, double và float Phương thức được ghi đè (overriden) là phương thức có mặt ở lớp cha (superclasss) cũng như ở các lớp kế thừa. Phương thức này cho phép một lớp tổng quát chỉ định các phương thức sẽ là phương thức chung trong các lớp con.ví dụ lớp xác định phương thức tổng quát area(). Phương thức này có thể được hiện thực trong một lớp con để tìm diện tích một hình cụ thể như hình chữ nhật, hình vuông Phương thức nạp chồng là một hình thức đa hình (polymorphism) trong quá trình biên dịch (compile). Còn phương thức ghi đè là một hình thức đa hình trong quá trình thực thi (runtime). Đoạn chương trình sau mô tả nạp chồng phương thức được thực hiện như thế nào 3/5

//defined once protected void perfomtask(double salary){... System.out.prinln("Salary is : " + salary);... } //overloaded-defined the second time with different parameters protected void performtask(double salary, int bonus){... System.out.println("Total Salary is:" + salary+bonus);... } Phương thức khởi tạo (Contructor) của lớp có thể bị nạp chồng (overload) Phương thức ghi đè (Overriden) được định nghĩa lại ở các lớp con. Đoạn mã sau đây mô tả phương thức ghi đè. Ở đây ta dùng từ khoá this biểu thị đối tượng hiện hành, trong khi đó super được sử dụng để chỉ đối tượng lớp cha. Phương thức ghi đè không phải là phương thức tĩnh (static). Nó là loại non-static. Các đoạn mã sau đây mô tả việc thực thi ghi đè phương thức trong Java. class SupperClass // Tạo lớp cơ bản { int a; SuperClass() // constuctor { } SuperClass(int b) //overloaded constructor { a=b; } public void message() { System.out.println("In the super class" ); } } class SubClass Extends SuperClass {// derriving a class int a; SubClass(int a) {//subclass constructor this.a; } public void message(){ // overiding the base class message() System.out.prinln("In the sub class"); } } Bây giờ chúng ta sẽ tạo ra một đối tượng lớp cha và gán một lớp nhỏ tham chiếu đến nó như sau: SuperClasss spobj=new SubClass(22); Câu lệnh spobj.message() thuộc phương thức lớp của SubClass. Ở đây kiểu đối tượng được gán cho spobj sẽ chỉ được xác định khi chương trình thực thi. Điều này được biết dưới khái niệm liên kết động (dynamic binding). Phương thức khởi tạo lớp Phương thức khởi tạo lớp là một loại phương thức đặc biệt rất khác với các phương thức thông thường. Nó không có kiểu trả về. Nó có tên trùng với tên của lớp. Hàm khởi tạo lớp thực thi như một phương thức hoặc một chức năng bình thường song nó không trả 4/5

về bất cứ một giá trị nào. Nói chung chúng được dùng để khởi tạo các biến thành viên của một lớp và nó được gọi mỗi khi bạn tạo ra đối tượng của lớp đó. Phương thức khởi tạo lớp có hai loại: Tường minh (explicit): Bạn có thể lập trình những phương thức khởi tạo lớp khi định nghĩa lớp. Khi tạo một đối tượng của một lớp, những giá trị mà bạn truyền vào phải khớp với những tham số của phương thức khởi tạo (số lượng, thứ tự và kiểu dữ liệu của các tham số) Ngầm định (Implicit): Khi bạn không định nghĩa một phương thức khởi tạo cho một lớp, JVM cung cấp một phương thức khởi tạo ngầm định. Bạn có thể định nghĩa nhiều phương thức khởi tạo cho một lớp. Giống như các phương thức khác, phương thức khởi tạo lớp có thể bị nạp chồng (overload) Một phương thức khởi tạo: Đoạn mã sau đây định nghĩa một phương thức khởi tạo tường minh (explicit) cho một lớp Employee. Phương thức khởi tạo bao gồm tên và tuổi. Chúng được coi như các tham số và gán các giá trị của chúng vào các biến của lớp. Chú ý rằng từ khoá this được sử dụng để tham chiếu đến đối tượng hiện hành của lớp. class Employee { String name; int age; Employee (String varname, int varage) { this.name = varname; this.age = varage; } public static void main (String arg[]) { Employee e = new Employee ("Allen", 30); } } Phương thức khởi tạo của lớp dẫn xuất Phương thức khởi tạo của một lớp dẫn xuất có tên trùng với tên của lớp dẫn xuất đó. Câu lệnh dùng để gọi phương thức khởi tạo của cha phải là câu lệnh đầu tiên trên phương thức khởi tạo của lớp con đó. Lý do là lớp cha hình thành trước khi có các lớp con. 5/5