OC中类的定义与使用跟C#和java差别相当明显,做个笔记,牢记并加以区别!

一、OC中类的定义:关键字@implementation 和 @end

注意事项:

1.定义好一个类之后,要让这个类继承NSObject这个类--是为了让自己定义的类能够具备创造对象的能力

2.继承NSObject后还不算完,NSObject的声明在Foundation框架中,所以--#import <Foundation/Foundation.h>

3.OC中定义的类中,类的属性和方法是分开写的--类的属性定义在“{}”中,再给类中的属性加访问修饰符的时候,只加一次,多个属性相同访问修饰符的时候不用写多次:

  例:

int no;

@public

int age;

float height;

以上属性中只有age 和 height 的访问修饰符是public

4.类中的行为(方法)的位置是在@end的前面,大括号“{}”的外面

5.给对象增加一个行为,必须以减号“-”开头

6.OC方法中的小括号“()”只是用来括住类型的

上代码!

 // 为了能使用NSObject
#import <Foundation/Foundation.h> // 设计(定义)一个车类
// @implementation 和 @end
// : NSObject :让Car这个类具备创建对象的能力
@implementation Car : NSObject
// 这个大括号里面只能写所有的属性
{
// @public:让对象的属性可以被外面的指针访问
@public
int wheels; // 轮子个数
double speed; // 时速
} // 在@end的前面,大括号{}外面写行为
// 给Car对象增加一个行为(方法)
// 给对象增加一个行为,必须以减号 - 开头
// OC方法中的小括号()只是主要扩住类型
- (void) run
{
// 访问车子对象内部的属性,直接用属性名就可以
NSLog(@"%i个轮子,%f时速的车子跑起来了!", wheels, speed);
} @end

二、OC中类的简单使用

注意事项:

1.想要执行一些行为(方法),别忘了中括号“[]”---[ 行为执行者  行为名称 ]

2.new 这个行为执行完毕后,会返回这个对象的地址--用到了结构体中利用指针修改类中属性的方法:

  Car *c = [Car new];//创建Car对象,并返回指针

  c->属性=  ;//或者(*c).属性=  ;

 int main()
{
// 在OC中想执行一些行为,首先写个 [行为执行者 行为名称] // 利用Car这个类,执行创建车子(new)的行为
// new这个行为执行完毕后,会返回这个对象的地址
// 定义了一个指向Car类型数据的指针变量c
// 指针变量c指向的是最新创建的车子对象
Car *c = [Car new];
// 给c指向的车子对象的wheels属性赋值
c->wheels = ;
c->speed = ; // 让内存的车子对象执行跑(run)这个行为
// 给指针变量c指向的对象发送一条run消息,让这个对象执行run这个行为
[c run]; [c run]; //NSLog(@"车有%i个轮子,时速%f km/h", c->wheels, c->speed); return ;
}

    

    

OC基础--OC中类的定义的更多相关文章

  1. OC基础--OC中类的声明与定义

    OC中设计一个类的步骤: 一.声明类: 1.用到的关键字--@interface 和 @end 2.类名 3.继承NSObject 4.属性 5.方法(行为,只需要声明) 二.实现(定义)类 1.用到 ...

  2. ios开发之OC基础-oc小程序

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

  3. OC基础:OC 基本数据类型与对象之间的转换方法 分类: ios学习 OC 2015-06-18 20:01 11人阅读 评论(0) 收藏

    1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...

  4. OC基础--OC中的类方法和对象方法

    PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似.明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧.重点是自己真的能够区分开! 一.OC中的对象方法 1 ...

  5. OC基础--OC内存管理原则和简单实例

    ARC: 由于自己的学习视频太早,Xcode是iOS6版本,新建命令行项目后,系统会默认启动ARC机制,全程Automatic Reference Counting,简单的说,就是代码中自动加入了re ...

  6. OC基础 类的三大特性

    OC基础  类的三大特性 OC的类和JAVA一样,都有三大特性:继承,封装,多态,那么我们就来看一下OC中类的三大特性. 1.继承 继承的特点: (1)子类从父类继承了属性和方法. (2)子类独有的属 ...

  7. OC基础-第1天

    #pragma mark - Day01_01_OC语言的历史(了解) 1) Objective - C 是一门面向对象的高级语言 2) Objective - C 简称 obj - C  \  OC ...

  8. OC基础 代理和协议

    OC基础 代理和协议 1.协议 (1)oc语言中得协议:一组方法列表,不需要我们自己实现,由遵守协议的类来实现协议所定制的方法. (2)协议的使用步骤:制定协议-->遵守协议-->实现协议 ...

  9. OC基础 点语法的使用

    OC基础 点语法的使用 1.创建一个Student类继承于NSObject,Student.h文件 #import <Foundation/Foundation.h> @interface ...

随机推荐

  1. uva 1605 building for UN ——yhx

    The United Nations has decided to build a new headquarters in Saint Petersburg, Russia. It will have ...

  2. 【温故而知新-Javascript】使用 Document 对象

    Document 对象时通往DOM功能的入口,它向你提供了当前文档的信息,以及一组可供探索.导航.搜索或操作结构与内容的功能. 我们通过全局变量document访问Document对象,它是浏览器为我 ...

  3. 如何用ZBrush确定头部五官的位置

    之前和大家讲过如何在ZBrush中确定头部雕刻,在第一阶段中面数很少,只能将大型体雕刻出来,由于面数太少不能进行下面的雕刻.接下来第二阶段的调整,需要重新分布模型表面的网格,增加面数,进行五官的位置的 ...

  4. 边工作边刷题:70天一遍leetcode: day 72

    Missing Range 要点:题简单,这类题的特点都是记录上一步的状态,比如这题是end 错误点: 三种情况:一是连续的,即和上一个end差1,而是中间只差1个数,没有'->',最后是大于1 ...

  5. Codeforces Round #370 (Div. 2)B. Memory and Trident

    地址:http://codeforces.com/problemset/problem/712/B 题目: B. Memory and Trident time limit per test 2 se ...

  6. C#代码创建3D模型

    Demo 1:创建三角形 示例代码 构建一个只包含单个三角形及纹理坐标的网格 using UnityEngine; using System.Collections; public class Mes ...

  7. 使用Unity3D的50个技巧:Unity3D最佳实践

    翻译故事 原文:http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/ 这篇技巧,我自己也在翻译, ...

  8. Unity 2D Sprite Lighting

    2D游戏中也可以使用灯光?这真是一个好消息,接下来,我将为大家写一下教程 操作步骤 1.创建一个Materilas,修改Shader为 2.创建一个Sprite(使用黑色的图片) 3.创建一个Poin ...

  9. C++基础笔记(二)C++对C的扩展

    Xcode创建C++项目 1.新建一个MAC工程(command line tool) 2.导入头文件 3.修改文件后缀(*.m-->*.mm) 4.修改主函数中的OC代码为C++的代码   动 ...

  10. Linux压力测试工具Tsung安装、使用和图形报表生成

    简介 Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器.针对 HTTP 测试,Tsung ...