@property double gasLeft; @property int distanceTravelled; -(void) driveDistance:(int) dist; -(void) loadGas:(double) gas;
-(void) driveDistance:(int) dist { self.distanceTravelled = self.distanceTravelled + dist; double gasUsed = dist/8.5; self.gasLeft = self.gasLeft - gasUsed; } -(void) loadGas:(double) gas { self.gasLeft = self.gasLeft + gas; }
NSLog(@"Test code for objects"); Car *myCar = [Car alloc]; [myCar loadGas:50.0]; [myCar driveDistance:10]; NSLog(@"gas: %6.2f, distance: %d", myCar.gasLeft, myCar.distanceTravelled); [myCar driveDistance:94]; [myCar loadGas:10.0]; NSLog(@"gas: %6.2f, distance: %d", myCar.gasLeft, myCar.distanceTravelled);
@property(readonly) double gasLeft; @property(readonly) int distanceTravelled;
@interface Car() @property(readwrite) double gasLeft; @property(readwrite) int distanceTravelled; @end
-(double) distanceTravelledInMiles;
-(double) distanceTravelledInMiles { double miles = self.distanceTravelled*0.62; return miles; }
NSLog(@"my car travelled %6.2f miles", [myCar distanceTravelledInMiles]);
-(id) init; -(id) initWithGas:(double) amt;
-(id) init { self = [super init]; _gasLeft = 0; _distanceTravelled = 0; return self; } -(id) initWithGas:(double) amt { self = [super init]; _gasLeft = amt; _distanceTravelled = 0; return self; }
Car *car2 = [[Car alloc] init]; Car *car3 = [[Car alloc] initWithGas:20.0]; [car3 driveDistance:15]; // some code to print gas levels of car2 & car3 NSLog(@"Gas left in car 2: %6.2f", [car2 gasLeft]); NSLog(@"Gas left in car 3: %6.2f", [car3 gasLeft]);