OC 方法 继承 多态
来源:互联网 发布:mysql分页是什么 编辑:程序博客网 时间:2024/05/21 10:09
#import <Foundation/Foundation.h>#import "Human.h"#import "Person.h"#import "Student.h"int main(int argc, const char * argv[]) { @autoreleasepool { Human *human = [[Human alloc] init];// [human buyWater]; /* -:实例方法 1.调用方式 [对象 方法名] 2.格式 - (返回值类型)方法名; - (返回值类型)方法名参数描述名1:(参数类型)参数名; - (返回值类型)方法名参数描述名1:(参数类型)参数名1 参数描述名2:(参数类型)参数名2 ..... */// //无返回值,无参数 [human sayHi];// //无返回值,有一个参数 [human lentOfMoney:100]; //无返回值,传两个参数 [human drinkOfWater:@"农夫山泉" tea:@"铁观音"]; //有返回值,有一个参数 NSString *tea = [human drinkTea]; NSLog(@"tea:%@",tea); //有返回值,有多个参数 NSString *newString = [human drinkOfOtherWater:@"矿泉水" tea:@"绿茶"]; NSLog(@"new:%@",newString); NSInteger sum = [human sumOfNumber:100 otherNumber:200]; NSLog(@"sum = %ld",sum);// /*// +:类方法// 1.调用方式// [类名 方法名]// */// [Human test];// Human *human1 = [Human human];//// Human *human2 = [Human humanWithName:@"lili" age:22]; Human *human1 = [[Human alloc] init]; [human1 setName:@"lili"]; // NSLog(@"%@",[human1 name]); [human1 setAge:11]; //点语法 human1.name = @"lili"; NSLog(@"%@",human1.name); human1.age = 11; // NSLog(@"%ld",human1.age); NSLog(@"human1 = %@",human1);//// Student *student = [[Student alloc] init]; student.name = @"tom"; [student hello]; [student test]; [Student test];// Student *student = [[Student alloc]// init];// Person *person = [[Student alloc] init]; [person hello]; } return 0;}
#import <Foundation/Foundation.h>@interface Human : NSObject{/* @protected(默认):本类和他的子类的方法可以访问 @private:本类的方法可以访问 @public */ //成员变量 NSString *_name; NSInteger _age;}- (instancetype)initWithName:(NSString *)name age:(NSInteger)age;+ (Human *)humanWithName:(NSString *)name age:(NSInteger)age;//行为动作- (void)buyWater;//实例方法//无返回值,无参数//打招呼- (void)sayHi;//无返回值,有一个参数- (void)lentOfMoney:(NSInteger)money;//无返回值,有2个参数- (void)drinkOfWater:(NSString *)water tea:(NSString *)tea;//有返回值,无参数- (NSString *)drinkTea;//有返回值,有多个参数- (NSString *)drinkOfOtherWater:(NSString *)water tea:(NSString *)tea;- (NSInteger)sumOfNumber:(NSInteger)number otherNumber:(NSInteger)otherNumber;//类方法+ (void)test;+ (Human *)human;//setter,getter- (void)setName:(NSString *)name;- (NSString *)name;- (void)setAge:(NSInteger)age;- (NSInteger)age;@end
#import "Human.h"@implementation Human- (instancetype)initWithName:(NSString *)name age:(NSInteger)age{ self = [super init]; if (self) { _name = name; _age = age; } return self;}- (void)buyWater{ NSLog(@"我想喝水,你帮我买!");}- (void)sayHi{ NSLog(@"早上好");}- (void)lentOfMoney:(NSInteger)money{ NSLog(@"请你借%ld",money);}- (void)drinkOfWater:(NSString *)water tea:(NSString *)tea{ NSLog(@"我想喝%@泡的%@茶",water,tea);}- (NSString *)drinkTea{ return @"红茶";}- (NSString *)drinkOfOtherWater:(NSString *)water tea:(NSString *)tea{ NSString *string = [NSString stringWithFormat:@"我想喝%@泡的%@茶",water,tea]; return string;}- (NSInteger)sumOfNumber:(NSInteger)number otherNumber:(NSInteger)otherNumber{ return number + otherNumber;}+ (void)test{ NSLog(@"类方法test");}+ (Human *)human{ Human *human1 = [[Human alloc] init]; return human1;}+ (Human *)humanWithName:(NSString *)name age:(NSInteger)age{ Human *human = [[Human alloc] initWithName:name age:age]; return human;}//setter,getter- (void)setName:(NSString *)name{ _name = name; NSLog(@"_____%@",_name);}- (NSString *)name{ return _name;}- (void)setAge:(NSInteger)age{ if (age < 0) { _age = 18; return; }else{ _age = age; }}- (NSInteger)age{ return _age;}- (NSString *)description{ NSString *string = [NSString stringWithFormat:@"name:%@,age = %ld",_name,_age]; return string;}@end
#import <Foundation/Foundation.h>@interface Person : NSObject{ NSString *_name; NSInteger _age;}- (void)setName:(NSString *)name;- (NSString *)name;- (void)setAge:(NSInteger)age;- (NSInteger)age;- (void)hello;@end
#import "Person.h"@implementation Person- (void)setName:(NSString *)name{ _name = name;}- (NSString *)name{ return _name;}- (void)setAge:(NSInteger)age{ _age = age;}- (NSInteger)age{ return _age;}- (void)hello{ NSLog(@"person hello");}@end
#import <Foundation/Foundation.h>#import "Person.h"@interface Student : Person{// NSString *_name;// NSInteger _age; NSString *_code;}- (void)setName:(NSString *)name;- (NSString *)name;- (void)setAge:(NSInteger)age;- (NSInteger)age;- (void)setCode:(NSString *)code;- (NSString *)code;+ (void)test;- (void)test;- (void)hello;@end
#import "Student.h"@implementation Student- (void)setName:(NSString *)name{ _name = name;}- (NSString *)name{ return _name;}- (void)setAge:(NSInteger)age{ _age = age;}- (NSInteger)age{ return _age;}//- (void)setCode:(NSString *)code{ _code = code;}- (NSString *)code{ return _code;}- (void)hello{ NSLog(@"student hello");}- (void)test{ NSLog(@"---:%@",self);}+ (void)test{ NSLog(@"+++++:%@",self);}@end
0 0
- OC 方法 继承 多态
- OC 方法,继承,多态 练习题
- OC- 继承、方法与函数、多态
- OC方法和继承
- OC语言学习 (六) 继承、多态,构造方法,description方法
- OC之继承,初始化方法
- OC之继承、初始化方法
- OC第一天-继承,方法
- OC--封装,继承,多态
- OC:继承 多态 重写
- OC封装 继承 多态
- OC 封装 继承 多态
- OC 第三讲 继承初始化方法
- OC学习(三)继承和方法
- OC的弱语法、类方法、继承
- OC编程-多态、继承
- OC语言---封装,继承,多态
- OC-继承,多态,self,super
- 多项式拟合
- 如何开始创建第一个基于Spring MVC的Controller
- 正则表达式30分钟入门
- Spring IOC学习心得之BeanPostProcessor,BeanNameAware,BeanClassLoaderAware,BeanFactoryAware接口是如何起作用的
- VS2013中,将Qt的GUI程序改为控制台程序
- OC 方法 继承 多态
- 微服务架构设计 第五步: 微服务的 User Stories 的拆分与澄清
- 平台,设备,驱动
- List、Map、Set三个接口,存取元素时,各有什么特点?
- 社工方法加载OLE对象,更改浏览器代理设置窃取信息
- 基础知识点
- 直播云服务技术详解
- html基础温习
- smarty文件缓存