oc基础-OC基础-类的使用
#import <Foundation/Foundation.h> //定义枚举类型 typedef enum { sexMan, sexWomen } Sex;//定义日期类型typedef Struct{ int year; int month; int day;} Date; //1.声明类 (此时不能初始化类的成员变量)2 3 @interface Student:NSObject5 {6 @public;9 int _age; 11 char *_name; Sex _enumSex; Date _birthday; 13 //声明方法 15 - (void) study; 17 } 18 19 @end 20 21 //2.类的实现 22 23 @implementation Student 25 //方法的实现 27 - (void) study 29 { 31 NSLog(@"开始学习"); 33 } 35 @end int main(){ Student *stu=[Student new]; stu->name="aaa"; stu->age=20; Date d={1995,1,12}; stu->birthday=d; stu->enumSex=sexWomen; //调用方法 [stu study];}
1.声明类的同时不能对类里面的成员变量初始化
2.要是外部的实例指针访问类的成员变量,就必须在成员变量前加上@public,默认是受保护的
3.OC中操作对象,都是用指针间接操作的
4.OC中方法的声明语法 :方法类型 (数据类型)方法名; (oc中的方法类型都是减号-,oc中的()仅用来括住数据类型)
5.操作类对象的行为语法:[执行者 行为]
6.typedef 关键字用于定义类型, typeof int myInt; 那么在该文件中使用myInt 就是在使用int类型
7.结构体仅在定义实例的时候可以直接赋值。(错误写法:Date d; d={1995,1,12})
8.成员变量一般都用 下划线开头
9.该代码的内存分析:
1.当创建类的实例赋值给外部指针时,在内存中就分配一块空间给该指针对象,该内存的地址就是实例的地址,同时分配一块内存给创建的实例,该内存中存放了成员变量;
若是第一次创建实例,那么还会给类分配一块内存,该内存中存放类的方法列表
2.给类成员变量赋值时:由指针找到变量,并赋值
3.调用方法时:在每个实例内存中默认存在一个isa内存,当指针向实例发送一条行为消息是,该isa内存就会指向类的内存中,找到行为
转载于:https://www.cnblogs.com/hui1107464497/p/4491230.html
oc基础-OC基础-类的使用相关推荐
- oc总结 --oc基础语法相关知识
m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const cha ...
- 第1课-OC对象原理基础
第1课-OC对象原理基础 [TOC] 在探索OC对象原理之前,我们首先需要了解以下知识点 1. lldb lldb是xcode自带的命令行调试工具. 我们可以通过: help:查看lldb常见命令 h ...
- Java基础 ----常用时间类
Java基础 ----常用时间类 java.util.Date java.util.Calendar java.text.SimpleDateFormat new Date().getTime() & ...
- Java基础:String类
相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 概述 字符串是由多个字符组成的一串数据(字符序列),字符串可以看成是字符数组. 在实际开发中,字符串的操作 ...
- java的知识点15——String基础、String类和常量池、String类常用的方法、字符串相等的判断、组合模式
String基础 1. String类又称作不可变字符序列. 2. String位于java.lang包中,Java程序默认导入java.lang包下的所有类. 3. Java字符串就是Unicode ...
- C++基础之继承类和派生类
(1)继承是创建一个具有某个类的属性和行为的新类的能力.原有的类称为基类,新创建的类称为派生类.派生类将基类中的所有成员作为自己的成员,同时派生类本身可以定义新的成员 (2)派生类只有一个基类的继承称 ...
- TS基础2(类)-学习笔记
文章目录 TS基础2(类)-学习笔记 class类 类的继承 修饰符 类的类型.实现接口 TS基础2(类)-学习笔记 class类 //类 class//首字母大写//类(Class):定义了一件事物 ...
- 多重继承_Python 和 Java 基础对比 10 —— 类的封装、继承和多态
@Python大星 一.Python 类的封装.继承和多态 封装 继承 Python 支持多父类的继承机制,所以需要注意圆括号中基类的顺序,若是基类中有相同的方法名,并且在子类使用时未指定,Pytho ...
- C语言基础专题 - 存储类(编辑中)
C语言基础专题 - 存储类 本文介绍了C语言中存储类的相关知识.用法,以及相比之下C++存储类的扩展与差异. 1.
- 语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符)
语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符) (如有错误,欢迎指正,感谢!) 类 类是面向对象的程序设计中的概念,实现信息的封装 概念: 类就是拥有相等行为和相同的属性的 ...
最新文章
- shell中数字大小的比较
- MFC中添加自己定义的消息
- Scala 中下划线的用法
- inbox status and ServiceOrder Status
- 树莓派跑php,在树莓派4上部署nginx+php
- inventor如何钣金出弧面_Inventor教程之钣金多规则
- BAT与华为职级薪资股权大揭秘 网友看完后很酸表示“雨女无瓜”
- php 常用函数 180,php 部分常用函数
- shell 函数传递参数_python3基础之函数参数的传递方式
- python编程从入门到实践书中出错的地方_读书笔记「Python编程:从入门到实践」_10.文件和异常...
- LocalBroadcastManager分析
- 登录注册页面模板汇总WEB前端(50套)
- 数码管c语言编码,八段数码管编码.doc
- win10关闭快速启动_内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法...
- MacBook 如何在合上盖子后还能继续用外接键盘和显示器工作?
- 【问题】Ubuntu20.04桌面某些图标不显示
- 特斯拉新董事长:在我看来马斯克发推特很明智
- Codeforces Round #702 (Div. 3)ABCEF
- 智慧城市与数字政府、城市大脑、一网统管之间什么关系
- OpenStack T版 搭建【全网最全】