I. Encapsulation (set method and get method)
- Benefits of Encapsulation:
Filter out unreasonable values, shielding the interior of the assignment details, so that the outside world is not more concerned about the internal details.
1. Function: Provide a method to set the value of member variables to the outside world
2. Naming conventions:
1> method Name must be set start
2> set followed by the name of the member variable, and the first letter of the member variable must be uppercase
3> return value must be void
4> must accept a parameter, and the parameter type is consistent with the type of the member variable
5> parameter name cannot be the same as member variable name
Cases:
-(void) Setage: (int// method declaration -(void) Setage: (int// Method Implementation { if0) { 1; // } = newage;}
1. Function: Returns the value of the member variable inside the object
2. Naming conventions:
1> must have a return value, and the return value type must be the same as the member variable type
2> the same method name as the member variable name
3> does not need to accept any parameters
Cases:
-(int// method declaration -(int// method implementation { return Age ; }
- Naming conventions for member variables
Naming conventions for member variables: Be sure to start with the underscore "_";
Effect: 1. To separate the name of the member variable from the Get method
2. Can be separated from the local variables, a see the beginning of the underscore variable, is usually a member variable
Code Exercise:
#import<Foundation/Foundation.h>@interfacestudent:nsobject{//member variables try not to use @public to ensure the security of the data, no @public can not be assigned by the object---member variable (access), which is provided a set method to set the value of the member variables (although there is no @public, However, the member variable can be accessed directly within the object method)//@public intAge ;}- (void) Setage: (int) NewAge;- (int) age;- (void) study;@end@implementationStudent//implementation of Set method- (void) Setage: (int) newage{//Filter the parameters passed in if(NewAge <=0) {NewAge=1; } Age=NewAge;}//implementation of the Get method- (int) age{returnAge ;}- (void) study{NSLog (@"students at the age of%d are studying", age);//the use of age here can be accessed directly even when declaring member variables without writing @public (the object method can directly access member variables)}@endintMain () {Student*stu = [StudentNew]; //assigning a member variable inside an object by calling the Set method[Stu setage:-Ten]; [Stu Study]; //since there is no @public this is called get method gets the member variable value inside the objectNSLog (@"The age of the student is%d", [Stu Age]); return 0;}
Dark Horse programmer----Three major features (encapsulation, inheritance, polymorphism)