OC中封装与多态的实例
来源:互联网 发布:opentsdb java开发 编辑:程序博客网 时间:2024/05/31 19:10
/* 设计一个成绩类 属性:C语言成绩 OC成绩 IOS成绩 行为: 比较C语言成绩,返回自己与其他成绩差 比较OC成绩、比较IOS成绩、计算总分、计算平均分 */#import <Foundation/Foundation.h>@interface YObject : NSObject-(void)printClassName;@end@implementation YObject-(void)printClassName{ NSLog(@"%@",[self class]);}@end//定义成绩类@interface ChengJi : YObject{ //属性 //c语言成绩 int _cScore ; //oc成绩 int _ocSocre ; //ios成绩 int _iosScore; }@property int cScore;@property int ocScore;@property int iosScore;//比较C语言成绩-(int) comparisonCWith:(ChengJi*)chengJi;//比较OC语言成绩-(int) comparisonOcWith:(ChengJi*)chengJi;//比较IOS成绩-(int) comparisonIosWith:(ChengJi*)chengJi;//计算总分-(int)getSumScore;//计算平均分-(int)getAverageScore;@end@implementation ChengJi@synthesize cScore = _cScore;@synthesize ocScore = _ocSocre;@synthesize iosScore = _iosScore;-(int) comparisonCWith:(ChengJi*)chengJi{ return self.cScore - chengJi.cScore;}-(int) comparisonOcWith:(ChengJi*)chengJi{ return self.ocScore - chengJi.ocScore;}-(int) comparisonIosWith:(ChengJi*)chengJi{ return self.iosScore - chengJi.iosScore;}//计算总分-(int)getSumScore{ return self.cScore+self.ocScore+self.iosScore;}//计算平均分-(int)getAverageScore{ return [self getSumScore]/3;}@endint main(){ ChengJi *chengJi1 = [ChengJi new]; chengJi1.cScore = 100; chengJi1.ocScore = 100; chengJi1.iosScore = 100; ChengJi *chengJi2 = [ChengJi new]; chengJi2.cScore = 90; chengJi2.ocScore = 80; chengJi2.iosScore = 70; [chengJi1 printClassName]; NSLog(@"第一个比第二个的C语言成绩高%d分",[chengJi1 comparisonCWith: chengJi2]);// [ChengJi printClassName]; return 0;}
0 0
- OC中封装与多态的实例
- OC中类的封装
- OC的封装继承和多态
- OC 中实例变量与属性之间的区别
- OC中类的三大特性:封装、继承和多态
- 【黑马程序员】-oc中对象的封装
- OC学习笔记02-OC中的面向对象语法表现 - 封装 继承与多态
- OC ---封装与方法
- OC ---封装与方法
- OC学习:OC_中基本数据类型和结构体的封装(NSNumber继承与NSValue)
- 黑马程序员 OC------封装 继承 多态的基本概念
- OC中类方法的使用实例
- OC类的封装
- OC 封装的概念
- OC--继承封装和多态
- OC中的封装继承多态
- OC中属性(property)与实例变量(instance variable)之间的区别
- OC中字符串和数值的方法与使用实例解析
- poj 2318 TOYS
- Perzen窗概率密度估计
- 【视频播放】Jplayer视频播放器的使用
- Git 浅析
- SQL Server 深入解析索引存储(三)
- OC中封装与多态的实例
- perl 操作redis
- linux命令(6)——rmdir命令
- jsp弹出框之快速导航
- IOS开发之瀑布流的实现(UICollectionView与UIScrollView)
- 如何删除myeclipse自导的冲突jar包——antrl-2.7.2
- Linux设备模型(6)_Bus
- 办公业务流程信息展现及功能设计案例
- MSR-Model Specific Registers (特殊模块寄存器)