|
Long, Longer, Longest in Java
If you want to find out how long a Film3 is, in the class that I use on our private Java Programming courses, you can call the getminutes method. That's standard OO stuff. But what if you want to find out which is the longer of two Film3s or the longest of a whole array of them?
Don't re-write code!!!. So your longer method should call getminutes, and your longest method should call either longer or getminutes directly. Here's an example:
public int getminutes() {
return minutes;
}
public Film3 longer(Film3 that) {
int m1 = this.getminutes();
int m2 = that.getminutes();
if (m1 < m2) return that;
return this;
}
public static Film3 longest(Film3 [] ofthese) {
Film3 sofar = ofthese[0];
for (int owabout=1; owabout<ofthese.length; owabout++) {
sofar = sofar.longer(ofthese[owabout]);
}
return sofar;
}
longer is a method that runs on one object, with another passed in as a parameter:
current = Library[1].longer(Library[2]);
By contrast, longest is a class or static method that runs on a whole array of objects:
current = Film3.longest(Library);
You might wonder if longest could simply have run on the class as a whole and returned the largest defined Film3, but that would not be a good solution as you're likely to want to find (say) the longest horror film or the longest one for children, which will all be defined at the same time.
Links - Sample Program and the class that goes with it (written 2008-11-25 01:00:15)
Associated topics are indexed under J706 - Java - Objects and Classes
Some other Articles
Java - Genericsjavax.servlet cannot be resolved - how to solveJava CLASSPATH explainedMelksham Hotel RatesLong, Longer, Longest in JavaA Gold Star for First Great Western Customer ServiceRuby, Perl, Linux, MySQL - some training notesdaemons - what is running on my Linux server?sstrwxrwxrwx - Unix and Linux file permissionsXML, HTML, XHTML and more
|
1975 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 at 50 posts per page
This is a page archived from The Horse's Mouth at
http://www.wellho.net/horse/ -
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).
|
|