黑马程序员——OC三大特性-5:封装_lvzhehappy的博客-程序员秘密

技术标签: OC  IT  ios  封装  

————————java培训、Andoroid培训、IOS培训、.Net培训、期待与您交流!————————

黑马学习笔记5——OC三大特性之封装
面向对象3大特性:封装、继承、多态
 设计一个成绩类
 *C语言成绩
 *OC成绩
 *总分(只读)
 *平均分(只读)


封装
#import <Foundation/Foundation.h>

@interface Score : NSObject
{
    /*
     成员变量的命名规范:一定要以下划线_开头
     作用:让成员变量和get方法的名称区分开
          可以跟局部变量区分开
     */
    int _cScore;//c语言成绩
    int _ocScore;//OC成绩
    int _totalScore;//总分
    int _averageScore;//平均分
}
- (void)setCScore:(int)cScore;
- (void)setOCScore:(int)ocScore;

- (int)cScore;
- (int)ocScore;
- (int)totalScore;
- (int)averageScore;
@end

@implementation Score
- (void)setCScore:(int)cScore
{
    _cScore=cScore;
    _totalScore=_ocScore+_cScore;
    _averageScore=_totalScore/2;
}

- (int)cScore
{
    return _cScore;
}

- (void)setOCScore:(int)ocScore
{
    _ocScore=ocScore;
    _totalScore=_ocScore+_cScore;
    _averageScore=_totalScore/2;
}
- (int)ocScore
{
    return _ocSc ore;
}

- (int)totalScore
{
    return _totalScore;
}

- (int)averageScore
{
    return _averageScore;
}

@end
int main()
{
    Score *s=[Score new];
    [s setCScore:100];
    [s setOCScore:80];
    NSLog(@"总分=%d,平均分=%d",[s totalScore],[s averageScore]);
    return 1;
}

 

get方法

1.作用:返回对象内部的成员变量

2.命名规范:有返回值,返回值内型肯定与成员变量类型一致

         方法名跟成员变量名一样

         不需要接收任何参数

 

set方法

1.作用:提供一个方法给外界设置成员变量值,可以在方法里面对参数进行过滤

2.命名规范:方法名必须以set开头

          set后面跟上成员变量名称,成员变量的首字母必须大写

          返回值一定是void

          一定要接受一个参数,而且参数类型跟成员变量一致

          形参的名称不能跟成员变量名一样




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lvzhehappy/article/details/45096205

智能推荐

Unity Shader 卡通渲染 (三):仿塞尔达荒野之息 Shader(顶点色控制细节)_西河某人的博客-程序员秘密

上一篇传送门:https://blog.csdn.net/qq_27534999/article/details/100925621顶点色在卡通渲染中有挺多应用,本篇会在上一篇的基础上,运用模型顶点色来控制细节。塞尔达荒野之息不一定是用这种方法,也可能是用额外的贴图来实现,这里算是抛砖引玉一下,扩展一下思路。(不过这方法效果还挺不错哦!)用顶点色控制细节还是有很多好处的,首先就是效果比...

计算机丢失mfc140 dll,mfc140d.dll_weixin_39849800的博客-程序员秘密

mfc140d.dll是存放在Windows系统中的一个非常重要dll文件,缺少它就会造成部分软件或游戏不能正常运行。当用户的电脑弹出提示“无法找到mfc140d.dll”或“计算机缺少mfc140d.dll”等错误问题,请下载本站为你提供的dll文件,使用它可以帮助用户解决上述问题。基本简介DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类...

for i, data in enumerate(trainloader, 0): 解释_enumerate(train_loader)_科研dog_java的博客-程序员秘密

查阅python官方文档enumerate返回的枚举对象:如[(0, ‘spring’), (1, ‘summer’)]其中i,data 第一次循环时分别就是 0 、spring ,第二次循环就是 1 、 summer在for i , data in enumerate(trainloader, 0)中我们常碰见0变为1,其实就是将索引从0开始修改为从1开始,那么i,data 第一次循环时分别就是 1 、spring ,第二次循环就是 2 、 summer希望我的回答对你有帮助,点个赞再走吧,谢谢

综述论文:图像标注中的BoW表示 Bag-of-Words Representation in Image Annotation: A Review_GarfieldEr007的博客-程序员秘密

Chih-Fong TsaiDepartment of Information Management, National Central University, Jhongli 32001, TaiwanReceived 26 August 2012; Accepted 19 September 2012Academic Editors: F. Camastra, J. A

企业财务制度二--会计科目名称和编号(一)1605 在建工程减值准备(转载)_cqwmy840702的博客-程序员秘密

企业财务制度二--会计科目名称和编号(一)1605 在建工程减值准备1605 在建工程减值准备  一、本科目核算企业在建工程计提的减值准备。  二、企业应当定期或者至少于每年年度终了,对在建工程进行全面检查,如果有证据表明在建工...

2018_WWW_Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification_XingHe_XingHe_的博客-程序员秘密

2018_WWW_Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification—(The World Wide Web Conference, 2018.04.23)-- Chenyi Zhuang, Qiang Ma论文下载地址: https://doi.org/10.1145/3178876.3186116发表期刊:IW3C2 (International World Wide Web Confere

随便推点

Glide加载webp动画及监听动画播放结束_webpdecoder_黄毛火烧雪下的博客-程序员秘密

一、webpdecoder 源码https://github.com/zjupure/GlideWebpDecoder二、 引入 // webpdecoder implementation "com.github.zjupure:webpdecoder:2.0.4.13.1" // glide 4.10.0+ implementation "com.github.bumptech.glide:glide:4.13.1" annotationProcessor "c

svn版本管理系统的安装 centos+subversion+apache+jsvnadmin_li20040723的博客-程序员秘密

转自吴水成视频CI 服务器:192.168.4.221 root 用户操作 建议安装前更新操作系统 # yum update 更新完成后重启 # reboot 安装 apache # yum install httpd httpd-devel # service httpd start # chkconfig ht

卷积神经网络和CIFAR-10:Yann LeCun专访 Convolutional Nets and CIFAR-10: An Interview with Yann LeCun_GarfieldEr007的博客-程序员秘密

Recently Kaggle hosted a competition on the CIFAR-10 dataset. The CIFAR-10 dataset consists of 60k 32x32 colour images in 10 classes. This dataset was collected by AlexKrizhevsky, Vinod Nair, and

FFMPEG 音频转换命令 wav转amr,视频压缩、视频封面截取_bang152101的博客-程序员秘密

音频转换:1.转换amr到mp3:ffmpeg -i shenhuxi.amr amr2mp3.mp32.转换amr到wav:ffmpeg -acodec libamr_nb -i shenhuxi.amr amr2wav.wav3.转换mp3到wav:ffmpeg -i DING.mp3 -f wav test.wav4.转换wav到amr:ffmpeg -i test.wav -acodec libamr_nb -ab 12.2k -ar 8000 -ac 1 w

计算机中丢失mfc100d.dll,mfc100d.dll_weixin_39956350的博客-程序员秘密

mfc100d.dll文件是一种微软系统重要的dll文件,如果你的电脑显示没有找到mfc100d.dll文件或者丢失mfc100d.dll文件等信息,你可以下载mfc100d.dll文件来解决上述问题,有需要的朋友欢迎下载使用!dll文件简介:DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整...

宣化科技职业学院计算机网络技术,职业技术学校专业建设-宣化科技职业技术学院-计算机网络技术.doc..._weixin_39568706的博客-程序员秘密

PAGE申报中央财政支持提升专业服务产业发展能力专业建设方案申报学校: 宣化科技职业技术学院申报专业: 计算机网络技术专业建设负责人:刘云章(信息技术系主任)专业建设小组成员:李春霆、郭廷斌、池永胜、崔海涛、张荣河、张兵、张高峰等。2011年10月目 录TOC \o "1-2" \h \z \u 一、建设背景与基础 1(一)建设背景 1(二)建设基础 2二、建设思路与目标 3(一...

推荐文章

热门文章

相关标签