Truyền tham số cho phương thức

Một phần của tài liệu Bài giảng Ngôn ngữ lập trình Java: Phần 1 - TS. Vũ Hữu Tiến (Trang 34 - 36)

Như đã đề cập ở khái niệm về lớp trong mục 2.1.1, lớp có chức năng mô tả những gì một đối tượng biết (thông qua thuộc tính) và những gì đối tượng có thể thực hiện (thông qua các phương thức). Mặc dù tất cả các thực thể của lớp có chung phương thức

35 nhưng phương thức của mỗi thực thể lại trả về những kết quả khác nhau vì nó còn phụ thuộc vào giá trị của các biến của thực thể đó.

Hình 2. 2 Lớp Song

Xét ví dụ trong hình 2.2. Lớp Song có hai biến thực thể là title và artist. Ngoài ra, lớp Song có phương thức play() có chức năng phát ra một bản nhạc nào đó tùy theo tên bài hát được truyền vào. Mã của phương thức play() được viết như sau :

void play(){

soundPlayer.playSound(title) ; }

Như ta thấy, phương thức play() có chức năng chơi một bản nhạc nhưng thực tế phương thức này phát bản nhạc nào thì nó phụ thuộc vào giá trị của biến title của thực thể đó.

Phương thức play() trong ví dụ trên không yêu cầu truyền trực tiếp giá trị vào trong phương thức nhưng có thể có những phương thức yêu cầu truyền giá trị vào trong phương thức. Ví dụ như phương thức minValue (int num1, int num2) ở ví dụ trên. Trong phương thức này, các biến num1, num2 được gọi là các tham số (parameter) của phương thức. Trong khi các giá trị được truyền vào, ví dụ minValue (4,5), gồm hai giá trị cụ thể 4 và 5 được gọi là các đối số (argument).

Chúng ta cần lưu ý là nếu một phương thức yêu cầu một tham số thì ta phải truyền cho nó một giá trị nào đó và giá trị đó phải thuộc đúng kiểu được khai báo của tham số. Phương thức có thể có nhiều tham số. Khi khai báo, ta dùng dấu phảy để tách giữa chúng. Khi gọi hàm, ta phải truyền các đối số thuộc đúng kiểu dữ liệu và theo đúng thứ tự đã khai báo.

Phương thức có thể trả về giá trị. Khi phương thức khai báo sẽ trả về giá trị thuộc kiểu dữ liệu gì thì phải trả về giá trị thuộc kiểu dữ liệu đó. Ví dụ trong phương thức

minValue, giá trị trả về là min thì min phải có cùng kiểu int với phương thức như đã khai báo. Song title artist setTitle() setArtist() play()

36

Một phần của tài liệu Bài giảng Ngôn ngữ lập trình Java: Phần 1 - TS. Vũ Hữu Tiến (Trang 34 - 36)