#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基础-类的使用相关推荐

  1. oc总结 --oc基础语法相关知识

    m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const cha ...

  2. 第1课-OC对象原理基础

    第1课-OC对象原理基础 [TOC] 在探索OC对象原理之前,我们首先需要了解以下知识点 1. lldb lldb是xcode自带的命令行调试工具. 我们可以通过: help:查看lldb常见命令 h ...

  3. Java基础 ----常用时间类

    Java基础 ----常用时间类 java.util.Date java.util.Calendar java.text.SimpleDateFormat new Date().getTime() & ...

  4. Java基础:String类

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 概述 字符串是由多个字符组成的一串数据(字符序列),字符串可以看成是字符数组. 在实际开发中,字符串的操作 ...

  5. java的知识点15——String基础、String类和常量池、String类常用的方法、字符串相等的判断、组合模式

    String基础 1. String类又称作不可变字符序列. 2. String位于java.lang包中,Java程序默认导入java.lang包下的所有类. 3. Java字符串就是Unicode ...

  6. C++基础之继承类和派生类

    (1)继承是创建一个具有某个类的属性和行为的新类的能力.原有的类称为基类,新创建的类称为派生类.派生类将基类中的所有成员作为自己的成员,同时派生类本身可以定义新的成员 (2)派生类只有一个基类的继承称 ...

  7. TS基础2(类)-学习笔记

    文章目录 TS基础2(类)-学习笔记 class类 类的继承 修饰符 类的类型.实现接口 TS基础2(类)-学习笔记 class类 //类 class//首字母大写//类(Class):定义了一件事物 ...

  8. 多重继承_Python 和 Java 基础对比 10 —— 类的封装、继承和多态

    @Python大星 一.Python 类的封装.继承和多态 封装 继承 Python 支持多父类的继承机制,所以需要注意圆括号中基类的顺序,若是基类中有相同的方法名,并且在子类使用时未指定,Pytho ...

  9. C语言基础专题 - 存储类(编辑中)

    C语言基础专题 - 存储类 本文介绍了C语言中存储类的相关知识.用法,以及相比之下C++存储类的扩展与差异. 1.

  10. 语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符)

    语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符) (如有错误,欢迎指正,感谢!) 类 类是面向对象的程序设计中的概念,实现信息的封装 概念: 类就是拥有相等行为和相同的属性的 ...

最新文章

  1. shell中数字大小的比较
  2. MFC中添加自己定义的消息
  3. Scala 中下划线的用法
  4. inbox status and ServiceOrder Status
  5. 树莓派跑php,在树莓派4上部署nginx+php
  6. inventor如何钣金出弧面_Inventor教程之钣金多规则
  7. BAT与华为职级薪资股权大揭秘 网友看完后很酸表示“雨女无瓜”
  8. php 常用函数 180,php 部分常用函数
  9. shell 函数传递参数_python3基础之函数参数的传递方式
  10. python编程从入门到实践书中出错的地方_读书笔记「Python编程:从入门到实践」_10.文件和异常...
  11. LocalBroadcastManager分析
  12. 登录注册页面模板汇总WEB前端(50套)
  13. 数码管c语言编码,八段数码管编码.doc
  14. win10关闭快速启动_内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法...
  15. MacBook 如何在合上盖子后还能继续用外接键盘和显示器工作?
  16. 【问题】Ubuntu20.04桌面某些图标不显示
  17. 特斯拉新董事长:在我看来马斯克发推特很明智
  18. Codeforces Round #702 (Div. 3)ABCEF
  19. 智慧城市与数字政府、城市大脑、一网统管之间什么关系
  20. OpenStack T版 搭建【全网最全】

热门文章

  1. Java程序性能优化16
  2. 深度学习图片卷积输出大小计算公式
  3. nsupdate处理ns注意事项
  4. html 制作静态页面新知识
  5. ==、Equals 、ReferenceEquals它们的异同
  6. Java NIO 之 I/O基本概念(二)
  7. Laravel学习笔记之Demo1——URL生成和存储
  8. HttpServletRequest中文乱码
  9. vmware player tools安装
  10. Android--sharepreference总结