1.如何声明一个类

  • 格式

注意:

  • 1.必须以@interface开头,@end结尾
  • 2.成员变量的声明,必须写在@interface与@end之间的大括号中
  • 3.方法的声明必须在{}下面,不能写在{}中

2.如何实现一个类

  • 格式
@implementation MyClass

- (id)initWithString:(NSString *)aName
{
//写代码处
} + (MyClass *)myClassWithString:(NSString *)aName
{
//写代码处
} @end

注意:

  • 1.必须以@implementation开头,@end结尾
  • 2.类名必须和声明的一致

3.如何创建一个对象

  • 用类的方式告诉计算机,我们需要一个什么样的对象,之后我们要在程序中使用这个对象,就必须先创建一个对象

  • 注意[Car new];做了三件事

    • 1.在堆内存中开辟了一块新的存储空间
    • 2.初始化成员变量(写在类声明大括号中的属性就叫成员变量,也叫实例变量)
    • 3.返回指针地址
  • 消息机制

    • 使用对象调用方法就是OC中的消息机制
    • OC中调用方法的格式:[类名或者对象名 方法名];

4.对象的注意点

  • 可以通过 对象->对象成员(注意声明属性为:@public) 的方式访问对象中的成员,
  • 每一个对象中都有一份属于自己的属性。
  • 对其中一个对象的成员进行了修改。和另一个对象没有关系

第一个OC类的更多相关文章

  1. 第一个OC类、解析第一个OC程序

    01第一个OC 类 本文目录 • 一.语法简介 • 二.用Xcode创建第一个OC的类 • 三.第一个类的代码解析 • 四.添加成员变量 • 五.添加方法 • 六.跟Java的比较 • 七.创建对象 ...

  2. OC学习那些事:第一个OC类

    一.创建一个新的OC类: 1.点击File->New File,打开Choose a template for your new file窗口,选择Objective-C class,点击Nex ...

  3. 04:第一个OC类

    1.类与对象的关系 面向对象的核心就是对象,那怎么创建对象? OC中创建对象比较复杂, 首先要理解一个概念叫做类. 现实生活中是根据一份描述,一份模板创建对象,编程语言也一样,也必须先有一份描述,在这 ...

  4. Objective-c 总结(一):OC类的设计

    (一)学习目标: 1.面向对象基本概念: OOP的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题步骤中的行为. 2.熟悉OC类的定 ...

  5. iOS之02-第一个OC的类

    OC是一门面向对象的语言,因此它也有类.对象.静态\动态方法.成员变量的概念.这讲就来创建第一个OC的类. 第一个类的源码: /* 人 类名:Person 属性(成员变量\实例变量):体重.年龄 行为 ...

  6. 【Objective-C】0-第一个OC的类

    OC是一门面向对象的语言,因此它也有类.对象.静态\动态方法.成员变量的概念.这讲就来创建第一个OC的类. 一.语法简介 1.类 在Java中,我们用1个.java文件就可以描述清楚一个类:在OC中, ...

  7. 第一个OC的类

    来源:http://www.cnblogs.com/mjios/archive/2013/04/06/3002814.html 本文目录 一.语法简介 二.用Xcode创建第一个OC的类 三.第一个类 ...

  8. 【Objective-C】05-第一个OC的类

    OC是一门面向对象的语言,因此它也有类.对象.静态\动态方法.成员变量的概念.这讲就来创建第一个OC的类. 一.语法简介 1.类 在Java中,我们用1个.java文件就可以描述清楚一个类:在OC中, ...

  9. OC 类簇与复合

    OC 类簇与复合 类簇: 类簇是Foundation框架中广泛使用的设计模式.类簇将一些私有的.具体的子类组合在一个公共的.抽象的超类下面,以这种方法来组织类可以简化一个面向对象框架的公开架构,而又不 ...

随机推荐

  1. Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据

    什么是流处理 如果有 java 使用经验的同学一定会对 java8 的 Stream 赞不绝口,极大的提高了们对于集合类型数据的处理能力. int sum = widgets.stream() .fi ...

  2. Swoole 协程的并发调用及使用示例

    示例一: 利用通道pop会自动挂起当前协程,等待生产者推送数据的特性,实现并发调用,并在协程完成后组合结果集. $serv = new Swoole\Http\Server("127.0.0 ...

  3. 自动化怎么判断anndroid.listview是否包含某个指定的元素或内容

    做自动化的时候,定位元素时,会发现整屏的内容都是放在一个列表,在多层嵌套其他控件组成 如柠檬班的题库,里面会有很多分类 那么在做自动化的时候,怎么判断页面有没有包含指定的分类呢? 整体思路: 1.找到 ...

  4. Linux sudo 找不到命令

    普通用户执行需要root权限的命令,提示"找不到命令",但是root用户执行该命令不报错,可能是由于该命令未处在sudo搜索的路径. 本文以sudo easy_install 为例 ...

  5. C#进阶——从应用上理解异步编程的作用(async / await)

    欢迎来到学习摆脱又加深内卷篇 下面是学习异步编程的应用 1.首先,我们建一个winfrom的项目,界面如下: 2.然后先写一个耗时函数: /// <summary> /// 耗时工作 // ...

  6. vue中使用window.resize并去抖动优化

    this.clientWidth = document.documentElement.clientWidth window.onresize = () => { this.clientWidt ...

  7. 《剑指offer》面试题21. 调整数组顺序使奇数位于偶数前面

    问题描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4] 输出:[1,3,2,4] ...

  8. winform全局异常处理

    static void Main() { //设置应用程序处理异常方式:ThreadException处理 Application.SetUnhandledExceptionMode(Unhandle ...

  9. RichTextBox单独设置文字颜色

    richTextBox1.Select(index, "str1".Length); richTextBox1.SelectionColor = Color.Red;

  10. gin中绑定表单数据至自定义结构体

    package main import "github.com/gin-gonic/gin" type StructA struct { FieldA string `form:& ...