On 2/5/2008 8:21 AM, tom soyer wrote: > Hi, > > I read section 5, oop, of the R lang doc, and I am still not sure I > understand how to build a class in R for oop. I thought that since I > understand the oop syntex of Java and VB, I am wondering if the R programmig > experts could help me out by comparing and contrasting the oop syntex in R > with that of Java. For example, the basic class structure in Java is like > this: > > public class Bicycle { > > // *the Bicycle class has three fields* > public int cadence; > public int gear; > public int speed; > > // *the Bicycle class has one constructor* > public Bicycle(int startCadence, int startSpeed, int startGear) { > gear = startGear; > cadence = startCadence; > speed = startSpeed; > } > > // *the Bicycle class has four methods* > public void setCadence(int newValue) { > cadence = newValue; > } > > public void setGear(int newValue) { > gear = newValue; > } > > public void applyBrake(int decrement) { > speed -= decrement; > } > > public void speedUp(int increment) { > speed += increment; > } > > } > > Could one of the R experts please illustrate the R class syntex for writing > the R equivalent of the Java Bicycle class above?
The class system in standard R has no equivalent of that. It's based on a different idea: the generic function owns methods, classes don't. Another problem is that there are two different class systems in R: sometimes calls S3 and S4 (because of the versions of S where they were introduced). You were reading about S3. Duncan Murdoch > > Also, in Java, inheritance is done like this: > > public class MountainBike extends Bicycle { > > // *the MountainBike subclass has one field* > public int seatHeight; > > // *the MountainBike subclass has one constructor* > public MountainBike(int startHeight, int startCadence, int startSpeed, > int startGear) { > super(startCadence, startSpeed, startGear); > seatHeight = startHeight; > } > > // *the MountainBike subclass has one method* > public void setHeight(int newValue) { > seatHeight = newValue; > } > > } > > What would be the R oop syntex for inheritance in the case of the > MontainBike class? > > Thanks! > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.