黑马程序员---OC基础---类的声明和实现

原创 2015年07月07日 08:20:03

------- android培训java培训IOS培训期待与您交流! ----------

1、关于类的几个名词:

.h:类的声明文件,用于声明成员变量、方法。类的声明使用关键字@interface和@end。

注意:.h文件中的方法只是做一个说明,并不对方法进行实现。也就是说,只是说明一下方法名、方法的参数以及返回值类型,并不会编辑方法内部的代码。

.m:类的实现文件,用于实现.h中声明的方法。类的实现使用关键字@implementation和@end。


方法

方法的声明和实现,都必须以+和-开头

+ 开头 表示类方法(静态方法)

- 开头 表示对象方法(动态方法)

在.h文件中声明的所有方法作用域都是public类型,不能更改。

 

成员变量(实例变量)

成员变量的作用域又三种:

@pubilc 全局都可以访问。

@protected 只能在类的内部和子类中访问。

@private 只能在类的内部访问

2、声明一个类:

#import <Foundation/Foundation.h>
//类的声明
@interface car:NSObject
{
      //类的属性,严禁在这里写类的行为方法。
      @public
      int lunzi;
      //char *color;c语言中的
      NSString *color;//车的颜色
      int speed;//扯得速度
}
      //类的行为方法
@end
//类的实现
@implementation car
      //行为的具体描述,即便为空也不能省略
@end
3、创建一个对象:
[car new];
//做了三件事情:
//1、向计算机申请分配内存空间
//2、给类中的每一个成员初始化值
//3、返回一个新申请的空间的首地址,也就是说需要有一个指针变量来指向这个地址,于是有了
car *Car = [car new];
int main(){
      @autoreleasepool{
        //创建car类型的对象car1
<span style="white-space:pre">	</span>car *car1=[car new]
<span style="white-space:pre">	</span>//创建一个对象,实质还是指针
<span style="white-space:pre">	</span>car1->lunzi = 3;
<span style="white-space:pre">	</span>car1->speed = 150;
<span style="white-space:pre">	</span>car1->color = @"蓝色";
<span style="white-space:pre">	</span>//查看车的信息
<span style="white-space:pre">	</span>NSLog(@"轮子:%d,速度:%d,颜色:%@",car1->lunzi,car1->speed,car1->color);
      }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

黑马程序员_我的Linux基础整理笔记

Linux Linux文件目录和分区 文件目录: /:根目录 /root:存放root用户的相关文件 /home:存放普通用户的相关文件 /bin:存放普通用户的可执行命令 /sbin:...
  • zhengzhongjie1990
  • zhengzhongjie1990
  • 2014年07月05日 17:08
  • 1521

黑马程序员——Java基础测试题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员——Java基础测试题 第1题:以下代码哪个是正确的?为什么?   a. byte...
  • liu007004
  • liu007004
  • 2015年01月16日 12:49
  • 1371

黑马程序员——OC视频学习过程6

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------  视频16: 1、为什么要引入import import引入的头文件,...
  • woxingwosu77
  • woxingwosu77
  • 2015年08月20日 15:00
  • 244

oc中的类的声明和实现

一.关于类的几个名词 类 .h 类的声明文件,用于声明成员变量和方法。类的声明使用关键字@interface和@end。 注意:.h中的方法只是做一个声明,并不对方法进行实现。 .m文件  类...
  • sinat_20697509
  • sinat_20697509
  • 2016年02月17日 20:59
  • 627

黑马程序员——Java基础---练习题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Java基础---练习题 1.写出程序结果class Demo { public stat...
  • liu007004
  • liu007004
  • 2015年01月19日 16:35
  • 660

黑马程序员_HTML基础

a标签
  • u013168363
  • u013168363
  • 2013年12月29日 01:14
  • 445

黑马程序员--一个为进入黑马云六的C++屌丝的28个日夜

首先我要告诉大家,我是一个在大学学了三年C++的人,可能你们会问我,学C++不是挺好的?干嘛突然间要重新学习java呢?况且C++以后的发展不也挺好吗?        我应该怎么回答你们呢?这也是我...
  • heima_hb5
  • heima_hb5
  • 2014年08月22日 08:52
  • 2404

黑马程序员:从零基础到精通的前端学习路线

随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才。很多同学,包括以前做UI的、Java的、或者对于IT完全零基础的同学都想学习前端。下图是网上流传甚广的一张前端学习思维导图,很多初学者...
  • itcast_cn
  • itcast_cn
  • 2016年07月29日 14:46
  • 5122

OC中的代理模式(初级)

相信凡是接触过编程语言的人都会多多少少接触到一种设计模式—-代理模式。今天我就OC来说说代理模式的具体原理吧! 首先我们先了解一下具体的代理含义,不知道有没有人在设计类的时候遇到这样的问题:假如我们...
  • Forget_gray
  • Forget_gray
  • 2015年09月05日 00:52
  • 551

传智 刘意 2015年Java基础视频-深入浅出精华版 笔记 day24~day26(2016年4月26日13:11:30)

day24 1.多线程(JDK5之后的Lock锁的概述和使用)   Lock:           void lock(): 获取锁。           void unlock():释放锁。 ...
  • juliantem
  • juliantem
  • 2016年04月15日 00:40
  • 4934
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员---OC基础---类的声明和实现
举报原因:
原因补充:

(最多只允许输入30个字)