30/09/2018, 20:17

nghĩa của các từ Appliance, reference type, Toaster trong JAVA

Ai có thể nói cho em biết nghĩa của 3 từ bên dưới, trong JAVA nghĩa là gì được không.

Appliance?
reference type?
Toaster?

Phan Hoàng viết 22:25 ngày 30/09/2018
  1. Toaster (Lò nướng bánh) - cái này nói tới Java dành cho lập trình nhúng (embeded system), kiểu như lò nướng bánh mỳ, tủ lạnh, … Tuy nhiên, dự án này hình như cũng k thành công. Có cái Java ME (dành cho phone) có vẻ còn có đất sống một chút.
  2. Appliance: đồ gia dụng, các thiết bị gia đình tương thích với java (có cài đặt JVM)
  3. Reference type: chắc cái kiểu tham chiếu (không có ngữ cảnh thì suy đoán vậy), đại khái là đồ gia dụng này thì reference tới thiết bị chuẩn nào chăng.
Phan Hoàng viết 22:29 ngày 30/09/2018

Hình như có con smart pen này thấy bảo chạy Java
http://www.livescribe.com/en-gb/

Trần Xuân Cường viết 22:24 ngày 30/09/2018

mình đọc những từ này trong cuốn HEAD FIRST JAVA hay là mình post cả đoạn đó lên bạn dịch giúp mình cái nhá. vì đoạn này mình đọc cũng hiểu sơ sơ, nhưng mình muốn biết chính xác nó là cái gì.

Phan Hoàng viết 22:23 ngày 30/09/2018

Toaster

Keeping the contract: rules for overriding

When you override a method from a supercIass, you 're agreeing to
fulfill the contract. The contract that says. for example, ~I take no
arguments and I return a boolean ." In other words, the arguments
and return types of your overriding method must look to the outside
world exactly like the overridden method in the superclass.
The methods are the contract.
If polymorphism is going to work. the Toaster’s version of the
overridden method from Appliance has to work at runtime.
Remember. the compiler looks at the reference type to decide
whether you can call a particular method on that reference. Wilh
an Appliance reference to a Toaster, the compiler cares only if class
Appliance has the method you ‘re invoking on an Appliance reference .
But at runtime, thejVM looks not at the reference type (Appliance) but
at the actual Toaster object on the heap. So if the compiler has already
approved the method call, the only way it can work is if the overriding "method has the same arguments and return types. Otherwise.
someone with an Appliance reference will call turn On 0 as a no-
arg method, even though there’s a version in Toaster that takes an
int. Which one is called at runtime? The one in Appliance. In other
words, the turnOn{int level) m.etJwd in Toaster is not an override.’

Đoạn này hả bạn?

Phan Hoàng viết 22:32 ngày 30/09/2018

Sách này mình chưa đọc, nhưng đại khái nó nói tới Polymorphism (tính đa hình trong Java)

Phía trên họ có viết một cái app tên là Toaster (alarm app để nướng bánh, đun cà phê, …). Appliance là một class # và nó sẽ gọi cái overide method ra. Còn reference type là nói tới kiểu tham chiếu, ở đây chính là hình dáng của object (một object trong java có thể có nhiều hình dáng khác nhau do cơ chế inheritance, nó có thể là chính nó, nhưng cũng có thể là bố nó - parent class)

Contract là tên function, nó giống như một cái hợp đồng, bạn muốn override thì buộc phải viết giống hệt (có thể gọi là Signature - chữ ký, muốn giả danh bố thì chữ ký phải giống hệt, giống hồi xưa bạn giả chữ ký bố trong sổ liên lạc)

Trần Xuân Cường viết 22:26 ngày 30/09/2018

only

Thanks bạn. Mình đã hiểu đại ý của đoạn này rồi.

Bài liên quan
0