OoP/ Slide 16 Using private' modifier private' members can only be used by member functions, nothing else Using private member variables for data protection and information hiding Using member functions to access the private data instead Try to make functions 'public Global Try to make data'private Local
OOP / Slide 16 Using ‘private’ modifier! Using private member variables for data protection and information hiding Using member functions to access the private data instead Try to make functions ‘public’ Try to make data ‘private’ ‘private’ members can only be used by member functions, nothing else! Global Local
OoP/ Slide 17 New version of Temperature class lass Temperaturei public // member functions void print()i double celsius( double fahrenheit()i private: // member variables double degree; char scale
OOP / Slide 17 New version of Temperature class class Temperature{ public: // member functions void print(); double celsius(); double fahrenheit(); private: // member variables double degree; char scale; };
OoP/ Slide 18 When the datum 'degree is private, it can not be accessed directly by using templdegree double Temperature: celsius () double cel If (scale==F") cel=(degree-320)/1.8; else cel=degree return cel; Possible only when degree is public or in member functions OK Private member variables can only be accessed by 'member functions of the same class
OOP / Slide 18 double Temperature::celsius() { double cel; If (scale==‘F’) cel= (degree-32.0)/1.8; else cel=degree; return cel; } OK it can not be accessed directly by using temp1.degree! When the datum ‘degree’ is private, Possible only when ‘degree’ is public or in member functions Private member variables can only be accessed by ‘member functions’ of the same class
Ss VSing member functions to (indirecty ide 19 access private data class Temperature public: //member functions double getDegree ()i char getscale ()i void set (double newDegree, char newscale void print ()i double celsius()i double fahrenheit(i private://member variables double degree char sca⊥e;
OOP / Slide 19 class Temperature{ public: // member functions double getDegree(); char getScale(); void set(double newDegree, char newScale); void print(); double celsius(); double fahrenheit(); private: // member variables double degree; char scale; }; Using member functions to (indirectly) access private data
OoP/ Slide 20 Some member functions on private data double temprature: getDegree() return degree double Temprature: getscale()i return scale double temprature: set(double d, char s) degree = d scale
OOP / Slide 20 double Temprature::getDegree() { return degree; } double Temprature::getScale() { return scale; } double Temprature::set(double d, char s) { degree = d; scale = s; } Some member functions on private data: