1.在Objective-C中,对象方法类比于Java的静态方法和对象方法.代码如下
-声明
2014-06-05 10:18:50
#import <Foundation/Foundation.h>
@interface Student : NSObject
//每个学生拥有学习的行为
+ (void) study;
// spendMoney: 称为方法名
//(int)price 称为参数
//(void)称为返回参数,必须用括号括起来
- (void) spendMoney:(int)price;
@end
-定义
#import "Student.h"
@implementation Student
+ (void) study
{
NSLog(@"All student can study!");
}
- (void) spendMoney:(int)price
{
NSLog(@"student spend %d yuan!",price);
}
@end
-调用
//类方法调用
[Student study];
//匿名对象方法的调用
[[[Student alloc] init] spendMonery:20];
2.self/super:作为特殊的内置指针,谁调用指向谁(类/对象)
Student.h
#import <Foundation/Foundation.h>
@interface Student : NSObject
{
@public
int _price;
}
//每个学生拥有学习的行为
+ (void) study;
// spendMoney: 称为方法名
//(int)price 称为参数
//(void)称为返回参数,必须用括号括起来
- (void) spendMoney:(int)price;
@end
Student.m
#import "Student.h"
@implementation Student
+ (void) study
{
NSLog(@"All student can study!");
}
- (void) spendMoney:(int)price
{
//同样,类调用时self指向的是类,对象调用时self指向的是对象,
//self同时可以指向类和对象的属性 也可以作为方法的调用的指针
//当指向属性时,无论是其本身还是父类的属性.
//因为在内存加载的时候首先会把对象的所有属性加载进来
self->_price=price;
NSLog(@"student spend %d yuan!",self->_price);
}
@end
Academican.h
#import <Foundation/Foundation.h>
#import "Student.h"
@interface Academician : Student
@end
Academican.m
#import "Academician.h"
@implementation Academician
+ (void) study
{
//1.当外部调用为对象时 super指向的是对象,当外部调用为类时 super指向的是类
//2.super只能用来调用方法 不能用来作为指向属性的指针即super->_price 是 错误的
[super study];
NSLog(@"All Academician can study!");
}
- (void) spendMoney:(int)price
{
NSLog(@"Academician spend %d yuan!",price);
}
@end
分享到:
相关推荐
OC-单例OC-单例OC-单例OC-单例OC-单例
外星人灯光控制插件。Alienware-OC-Controls-Application。
黑苹果一键生成工具OC-GEN-X 0.7.7
OC-little 内含多种DDST SSDT补丁 用于修复黑苹果硬件信息使用。
提出一种基于OC-SVM的新情感词识别方法,通过种子词扩展方法获得词语集,并用旧词典、词频和停用词等对扩展的词进行过滤,获取新词,对新词获取的实验评估显示在适当的F值下,正确率可以达到455%。由于情感词和非...
支持pod安装方式(相关注意点github上有说明),持续更新中,有新的需求或者更好的意见可以提出来哦!有问题可以加群沟通:670698309 github地址:https://github.com/choiceyou/FWPopupView (注:需要demo的...!!)
支持pod安装方式(相关注意点github上有说明),持续更新中,有新的需求或者更好的意见可以提出来哦!有问题可以加群沟通:670698309 github地址:https://github.com/choiceyou/FWCycleScrollView (注:需要...!!)
1-创建oc-gate-operator / certs目录,并使用SSL证书填充证书: $ mkdir -p oc-gate-operator / certs $ cd oc-gate-operator $ openssl genrsa -out certs / key.pem Generating RSA private key, 2048 bit ...
OC-图片浏览器
前端开源库-oc-empty-response-handleroc空响应处理程序,空响应用例的处理程序
MacOS开发(OC)----NSTableView类相关属性跟方法附件
OC-WKWebView(OC->JS)
OC-NSLock
MacOS开发(OC)----NSCollectionView类相关属性跟方法附件
对此提出了一种基于单类支持向量机的分类方法。采用随机选择算法来约简训练集,以达到提高训练速度的目的;同时,通过恢复超球体交集中样本在原始数据中的邻域来保证支持向量机的分类精度。实验证明,该方法能在较大...
OC-mp4视频截图
OC-View截图
Cisco 12410 Internet路由器以广泛部署的Cisco 12000系列的体系结构为基础,利用支持10Gbps Oc-192C/STM-64c 和四个端口的OC-48c/STM-16c接口的纵横交换机来支持分布式数据包转发,并继续支持现有的全部Cisco 12000...
Jupyter-笔记本-操作员 该操作员部署了机器学习工作流笔记本: : 要求: Openshift CLI 运行以下命令以部署操作员和定制资源: ...oc apply -f deploy/crds/cache.example.com_v1alpha1_jupyternotebooks_cr.yaml
OC-category的方法能被子类继承吗?2.它覆盖原有类的方法后,原有类的方法还能调用吗?如果能,你说明理由。