oc基础-self关键字的使用

        

 

#import <Foundation/Foundation.h>@interface Student : NSObject
{int _age;char *_name;
}
- (void) study;
- (void) run;+ (void) play;
+ (void) run;
@end@implementation Student
- (void) study
{NSLog(@"%s在学习",self->_name);[self  run];//若在此调用类方法会报错的,因为该self是对象,不能调用类方法
}
- (void) run
{NSLog(@"今天有一个学生在跑步");
}+ (void) play
{NSLog(@"上体育课啦");[self run];//若在此调用对象方法会报错的,因为该self是指向类,不能调用对象方
}
+ (void) run
{NSLog(@"开始跑步!");
}
@endint main()
{[Student  play];// 结果:上体育课啦//       开始跑步!Student *stu=[Student new];stu->name="aa";[stu study];//结果:aa在学习//     今天有一个学生在跑步
}

 

1.谁调用了self当前所在的方法,self就指向谁(self相当于一个指针)

   当self所在方法是被对象调用,那么self就指向了调用的那个对象

   当self所在的方法是由类调用,那么self就是指向该类

2.在对象方法中可以使用 self -> 成员变量名  访问类对象中的成员变量

3.也可以用self调用类方法/对象方法  :[self 方法名](在定义的类中使用)

转载于:https://www.cnblogs.com/hui1107464497/p/4496759.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql003操作表DDL

-- 查询表中数据 DQL 注意在mydb数据库下面 SELECT * FROM stdent; -- 在表中添加一列 DDL -- 新增列 默认添加到最后 ALTER TABLE stdent add score DOUBLE(4,1); -- 新增一列 在表中开头添加 ALTER TABLE stdent add score2 double(5,1) first; -- 在指定列后面添…

Google Guava学习笔记——基础工具类Joiner的使用

Guava 中有一些基础的工具类&#xff0c;如下所列&#xff1a; 1&#xff0c;Joiner 类&#xff1a;根据给定的分隔符把字符串连接到一起。MapJoiner 执行相同的操作&#xff0c;但是针对 Map 的 key 和 value。 2&#xff0c;Splitter 类&#xff1a;与 Joiner 操作相反的类&a…

xampp 无法启动mysql

Error: could not open single-table tablespace file .\test\dr.ibd 在网上搜索到的解决方案都不管用。结果整合了两个解决方案&#xff1a; 删掉xampp/data/ib_logfile0 xampp/data/ib_logfile1 xampp/data/ibdata1 三个文件就好了转载于:https://www.cnblogs.com/fyydnz/p/4…

mysql005约束.列级别

-- 列级约束 -- sno 主键&#xff1a;唯一&#xff0c;不为空&#xff0c;自增 -- name 非空 -- sex 非空&#xff0c;默认值&#xff0c;只有男女 -- age 0-30岁 -- score 非空 -- dtdate 非空 -- classname 非空 -- email唯一 -- 创建表&#xff0c;增加列级约束 …

hdu.1430.魔板(bfs + 康托展开)

魔板 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2170 Accepted Submission(s): 455 Problem Description在魔方风靡全球之后不久&#xff0c;Rubik先生发明了它的简化版——魔板。魔板由8个同样大小的方…

mysql006添加外键约束

-- 添加外键 -- 建立主表&#xff0c;班级表 CREATE TABLE class( cno int PRIMARY key auto_increment, cname VARCHAR(55) ) SELECT * FROM class; -- 建立从表&#xff0c;学生表 CREATE table stu( sno int PRIMARY KEY auto_increment, sname VARCHAR(55), sex ch…

Circle-Progress-View

https://github.com/jakob-grabner/Circle-Progress-View 转载于:https://www.cnblogs.com/eustoma/p/4507476.html

python1.学生管理系统

#定义函数界面 def info_print(): print("请选择功能-----------") print("1.添加学员") print("2.删除学员") print("3.修改学员") print("4.查询学员") print("5.显示所有学员") print("6.退出系统"…

初学JSP+Servlet常见的错误

web编程中常见的错误: 一、404(要访问的资源没有找到) 1.web程序有没有部署(将项目到tomcat中) 2.url有没有写错(包括大小写&#xff0c;包括项目有没有重命名) 3.有没有将jsp/html放在WEB-INF 4.如果访问的是servlet,那么看下web.xml中url-pattern中的配置和你写的名字是否一致…

python2.面向对象学生管理系统

main.py(程序主入口) #1.导入管理系统模块 from mangerSystem import * #2.启动管理系统 #保证是当前文件运行才启动管理系统&#xff1a;if -- 创建对象并调用run()方法 if __name__"__main__": student_managerStudentManager() student_manager.run() student…

elasticsearch 删除满足条件的语句_ELK从入门到还未精通(二)——ElasticSearch上篇

大家好&#xff0c;我是泥腿子安尼特&#xff0c;5个月没在李佬都公众号更新文章了。上一篇&#xff0c;大致介绍了作为工具人的我是如何基本使用这一套ELK 系统的。今天就讲讲这个最重要的E——基于Lucene的搜索引擎ElasticSearch(后面简称ES)。最近刚搬家&#xff0c;没想到隔…

mysql004操作表.增删改

-- 查询表中数据 DQL 注意在mydb数据库下面 SELECT * FROM stdent; -- 新增数据 这种写法数据的循序和数据库的字段循序保持一致。 INSERT INTO stdent values (1,"张三","男",25,"2021.1.1","java","123qq.com"); --…

python2.面向对象.学生管理

main.py(程序主入口) #1.导入管理系统模块 from mangerSystem import * #2.启动管理系统 #保证是当前文件运行才启动管理系统&#xff1a;if -- 创建对象并调用run()方法 if __name__"__main__": student_managerStudentManager() student_manager.run() student…

纸板怎么切割光滑_激光切割机大PK!光纤、CO2、YAG,你选谁?!

问&#xff1a;我也是钣金人&#xff0c;怎么加入组织&#xff1f;答&#xff1a;点标题下方蓝字“钣金家园光纤激光切割机之所以能在市场快速站稳脚跟并且逐步替代传统切割工艺&#xff0c;是由于其在各方面独具优势&#xff0c;那么他到底优秀在哪里呢&#xff1f;我们把CO2激…

mysql007.算数运算.别名.去重.排序

-- 创建DEPT表 CREATE TABLE DEPT( DEPTNO int(2) not null, DNAME VARCHAR(14), LOC VARCHAR(13) ); -- 查询DEPT表 SELECT * FROM DEPT; -- 修改表&#xff0c;添加主键 ALTER TABLE DEPT add CONSTRAINT PK_DEPT PRIMARY KEY(DEPTNO); -- 查询表结构。 desc DEPT; …

loadrunner11录制不成功解决方法(收集)

问题一&#xff1a;loadrunner11录制时events为0的解决办法 刚安装好的11.0&#xff0c;系统环境是&#xff1a;WINXPIE8LR11 OR WIN7IE11LR11 1、ie去掉工具—internet选项中->高级—>去掉“启用第三方浏览器扩展”&#xff0c;重启ie后发现还不行&#xff0c;继续&…

c# 蓝牙虚拟串口_蓝牙模块——基础知识介绍

1. 数据透传蓝牙模块可以通过串口(SPI、IIC)和MCU控制设备进行数据传输。蓝牙模块可以做为主机和从机。主机就是能够搜索别的蓝牙模块并主动建立连接&#xff0c;从机则不能主动建立连接&#xff0c;只能等别人连接自己。2. 低功耗低功耗蓝牙(Bluetooth Low Energy)&#xff0c…

Error: could not open `C:\Java\jre7\lib\i386\jvm.cfg

打开eclipse时出现Error: could not open C:\Program Files\Java\jre7\lib\i586\jvm.cfg’) 删除 c:\windows\system32\java&#xff0c; c:\windows\system32\javaw&#xff0c; c:\windows\system32\javaws, 如果是64位系统&#xff0c;还要删除 c:\windows\SysWOW64\java&am…

java项目001.双色球游戏

package Suangseq; //双色球游戏制作。 import java.awt.SystemColor; import java.util.Arrays; import java.util.Scanner; public class TextA { public static void main(String[] args) { boolean flagfalse;//定义一个布尔类型的变量。 int[] mynull;//定义一个变量 in…

华为手机30s桌面循环滑动_华为发飙了!麒麟820+双模5G,从2699元跌至2499元,超出消费者预期...

阅读本文前&#xff0c;请您先点击上面的“蓝色字体”&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到文章了。每天都会有分享&#xff0c;都是免费订阅&#xff0c;请您放心关注。注图文来源网络&#xff0c;侵删 …