tag:blogger.com,1999:blog-22587889.post115371622307524645..comments2024-02-11T13:21:47.930+05:30Comments on Ruminations of a Programmer: From Java to Ruby ? Now ? Naah ..Anonymoushttp://www.blogger.com/profile/01613713587074301135noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-22587889.post-71148355245902466042008-08-18T22:25:00.000+05:302008-08-18T22:25:00.000+05:30hello, I have to do 1 programm, can you check my p...hello, <BR/>I have to do 1 programm, can you check my programm<BR/>Create the abstract class Bird, there is no abstact method flapwings and String name.<BR/>Create derived abstract classes Flyingbird, Swimmingbird, Flyingandswimmingbird with corresponding abstact methods swim and/or fly.<BR/>Create no abstact subclasses from class Bird, for example Dove, Eagle, Ostrich, Swan.<BR/>Create 4 classes, which model next bird flocks:<BR/>1. flock of any birds<BR/>2. flock of flying birds<BR/>3. flock of swimming birds<BR/>4. flock of flying and swimming birds<BR/>Flocks create with the objects type Collection. There is espessial method for adding birds to the flock, it being known that adding alien objects must be impossible.<BR/>Classes structure must be so, that swan can adding to every flock. In every flock must be method, which make all birds, included in this flock, do, that all birds of flock ought do: flapwings and/or fly and/or swim.<BR/>About all actions print corresponding messages.<BR/>In test programm creat 4 different flocks, include in these flocks a few birds. <BR/>Class hierarchy must be such, that it would possible to make objects array, who can, for example to swim.<BR/><BR/>package bird;<BR/>import java.util.ArrayList;<BR/>import java.util.Iterator;<BR/>public abstract class Bird {<BR/><BR/>public String name;<BR/>public void strikewinds() {<BR/>System.out.println("Yes, relax, I'm bird and striking winds");<BR/>}<BR/><BR/>} <BR/>public abstract class Flyingbird extends Bird {<BR/>public abstract void fly(); <BR/>}<BR/>public abstract class Swimmingbird extends Bird {<BR/>public abstract void swim(); <BR/>} <BR/>public abstract class Flyswimbird extends Bird {<BR/><BR/>public abstract void flyswim();<BR/>}<BR/><BR/>public class Eagle extends Flyingbird {<BR/>public void fly(){<BR/>System.out.println("Yes, relax, I'm bird and fly"); <BR/>} <BR/><BR/>}<BR/>public class Dove extends Flyingbird {<BR/>public void fly(){<BR/>System.out.println("Yes, relax, I'm bird and fly"); <BR/>} <BR/><BR/>} <BR/><BR/>public class Penguin extends Swimmingbird {<BR/>public void swim(){<BR/>System.out.println("Yes, relax, I'm bird and swim"); <BR/>} <BR/>}<BR/>public class Swan extends Flyswimbird {<BR/>public void flyswim(){<BR/>System.out.println("Yes, relax, I'm bird and fly and swim"); <BR/>} <BR/><BR/>}<BR/>public class Ostrich extends Bird {<BR/><BR/>}<BR/>public class Chiken extends Bird {<BR/><BR/>}<BR/>public class Duck extends Flyswimbird {<BR/>public void flyswim(){<BR/>System.out.println("Yes, relax, I'm bird and fly and swim"); <BR/>} <BR/>}<BR/><BR/>public class Arrays extends Flyingbird {<BR/>public static void main(String[] args) {<BR/>Flyingbird[] flyer = { new Eagle(), new Dove()};<BR/>for (int i = 0; i < flyer.length; i++)<BR/>flyer[i].fly();<BR/><BR/>}<BR/>}<BR/>class FlyingFlock {<BR/>private List Flyingbird birds = new ArrayList Flyingbird();<BR/><BR/>public void addBird(Flyingbird bird) {<BR/>birds.add(bird);<BR/>}<BR/><BR/>public void fly() {<BR/>}<BR/>} <BR/>class SwimmingFlock {<BR/>private List Swimmingbird birds = new ArrayList Swimmingbird();<BR/><BR/>public void addBird(Swimmingbird bird) {<BR/>birds.add(bird);<BR/>}<BR/><BR/>public void swim() {<BR/>}<BR/>} <BR/><BR/>public class Test {<BR/>public static void main(String[] args) {<BR/>ArrayList Bird flock = new ArrayList Bird(); <BR/>flock.add(new Eagle());<BR/>flock.add(new Penguin());<BR/>flock.add(new Swan());<BR/>Iterator i = flock.iterator();<BR/>while (i.hasNext()) {<BR/>try {<BR/>((Flyingbird)i.next()).fly(); <BR/>((Swimmingbird)i.next()).swim();<BR/>((Flyswimbird)i.next()).flyswim(); <BR/><BR/>}<BR/>catch (InterruptedException e) {<BR/><BR/>}<BR/>}<BR/>}<BR/>}stilethttps://www.blogger.com/profile/04765631935583632990noreply@blogger.comtag:blogger.com,1999:blog-22587889.post-1153864837598201572006-07-26T03:30:00.000+05:302006-07-26T03:30:00.000+05:30Tate and RMH are cool guys but they are spreading ...Tate and RMH are cool guys but they are spreading FUD and are noisy as well ;)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-22587889.post-1153801692318361202006-07-25T09:58:00.000+05:302006-07-25T09:58:00.000+05:30[behrang said : equivalent Java snippet ..] : Actu...[behrang said : <I>equivalent Java snippet ..</I>] : Actually I did not claim the Ruby snippet as equivalent to the Java snippet. I wanted to show how similar database access is handled in Ruby. In fact the entire example is from Tate's Beyond Java (as I have acknowledged).Anonymoushttps://www.blogger.com/profile/01613713587074301135noreply@blogger.comtag:blogger.com,1999:blog-22587889.post-1153770715945491652006-07-25T01:21:00.000+05:302006-07-25T01:21:00.000+05:30The equivalent Java snippet to your Ruby data acce...The equivalent Java snippet to your Ruby data access snippet would be:<BR/><BR/>String query = "...";<BR/>for (Row r: dbh.execQuery(query)) {<BR/> names.add(r.get(0));<BR/>}<BR/><BR/>which is just as concise. The Spring sample is not the Java equivalent of the Ruby code shown in your blog. Having said that, Ruby is certainly a LOC-saver in some areas.Anonymousnoreply@blogger.com