第二个OC类

示例:

创建一个类,创建一个对象,调用方法,改变属性值

//类的声明部分

@interface Person : NSObject

{

  @public  //使类的外部可以调用成员变量

  int _weight;   //体重  

}

-(void)run;

-(void)rat:(char *)food;

@end

//类的实现部分

@implementation Person

-(void)run{

  _weight -= 2;

  NSLog(@"跑完步后的体重是%i",_weight);

}

-(void)eat:(char *)food{

  _weight += 10;

  NSLog(@"吃%s后的体重是:%i",food,_weight);

}

@end

#import <Foundation/Foundation.h>

int main(){

  Person *person1 = [Person new]

  person1->_weight = 100;

  NSLog(@"吃饭前的体重是:%i",_weight);

  [person1 run];

  NSLog(@"吃饭前的体重是:%i",person1->_weight);

  [person1 eat:"馒头"];

  return 0;

}

时间: 2024-11-29 05:54:08

第二个OC类的相关文章

《黑吗程序员》OC的认识和第一个OC类

面向对象和面向过程的区别 ① oc是面向对象 ② c是面向过程 ③  面向对象和面向过成只不过是解决问题的两种不同的思路 ④  面向过程只不过是考虑问题解决的步骤,面向对象只不过是考虑解决问题需要的对象. OC 类的认识      类的设计必须关心三样事物: ① 类名 ② 属性 ③ 行为 类名:所有的名词都是类名,且类名的第一个字母必须大写. 如果类名有多个名词,要使用驼峰标示. 属性:代表这个类在创建出来所拥有的的属性. 行为: 这个类所拥有的功能. 类的创建 // 类的声明 @interfa

OC类的继承以及类的循环调用

一, 关于OC的实例变量的可见度,即实例变量的访问权限有三种: 1),@public           公有的 被@public修饰的实例变量是公共的,即没有访问权限,在任何文件中都可以访问,(访问方式是通过对象+指向操作符) 2),@protected    受保护的 被@protected修饰的实例变量有一定的访问限,只允许在本类文件及子类文件中访问,其他文件不可访问 3),@private         私有的 被@private 修饰的实例变量,只允在在本类文件中访问,不可以在子类文

OC类的声明和实现,书写容易犯的错误

oc类的声明和实现,书写时候,容易犯的错误主要包括以下几点: 1.只写声明,不写实现 2.将@end这个结束标记忘记了 3.类的声明或者实现都不能写在c的函数中 4.属性的声明必须写在大括号当中 5.在声明属性的时候,不能直接赋值 6.声明与实现不能嵌套 7.方法的声明,只能写在大括号的下面,@end上面 8. '-[Person run]: unrecognized selector sent to instance 0x100109c80'  经典错误(记住),就是对象没有找到run这个方法

OC面向对象之第一个OC类

在学过java.c++这样语言之后,再来学习OC语言,虽然也同样是面向对象的语言,但是OC语言仍然给我们一种很"怪异"的感觉.这主要是由于OC语言本身有着它独特的命名和使用方法.总结java语法和OC语法的使用,我们会发现其实还是有很多规律可循的.下面就总结了OC类的一些特性. 一.关于OC类 1.oc中一般用两个文件描述一个类,与java是不同的. 2.后缀.h文件是类的声明文件,用于声明成员变量.方法.使用关键字@interface和@end; 而且.h文件只作声明,并没有对类的方

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

01第一个OC 类 本文目录 • 一.语法简介 • 二.用Xcode创建第一个OC的类 • 三.第一个类的代码解析 • 四.添加成员变量 • 五.添加方法 • 六.跟Java的比较 • 七.创建对象 • 八.访问公共成员变量和方法说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C.如果你还没有编程经验,或者对Objective-C.iOS开发不感兴趣,请忽略.学习本专题之前,建议先学习C语言专题.OC是一门面向

OC类与对象实例化,类之间的方法调用小题目

两个OC类与对象实例化题目 要求: * 类名.属性名.属性类型.方法名.方法参数.方法返回值自拟 * 自己写main函数测试设计是否合理 /* 1.设计一个"狗"类 1> 属性 * 颜色 * 速度(单位是m/s) * 性别 * 体重(单位是kg) 2> 行为 * 吃:每吃一次,体重增加0.5kg,输出吃完后的体重 * 吠(叫):输出所有的属性 * 跑:每跑一次,体重减少0.5kg,输出速度和跑完后的体重 * 比较颜色:跟别的狗比较颜色,如果一样,返回YES,不一样,返回NO

oc类的功能的拓展与延展

类的扩展 一   类目 (类目也称为分类,为没有源码的类添加方法.) 1.作用 1)可以扩展别人的类,可以作为子类的替代方法. 2)把同一类的代码放到多个文件中. 2.形式 1)文件名:目标类+类目名.h 目标类+类目名.m 2).h文件中 @interface 需要扩展的类的类名(分类名) -( )method: @end eg: 为字符串添加一个类 NSString+SayHi.h @interface NSString (SayHi) -(void)sayHi;//为字符串添加方法 @en

OC 类目(category) 延展(extension) 协议(protocol)(摘抄)

Objective-c中提供了可以让我们扩展类定义的手段:类目,延展和协议.类目:为已知的类增加新的方法:延展:通知在本类的定义里使用类目来声明私有方法:协议:协议声明了可以被任何类实现的方法. 注意:这些手段只能增加类的方法,并不能用于增加实例变量,要增加类的实例变量,只能通过定义子类来间接实现. 1.类目 1)声明类目 @interface NSString (NumberConvenience) -(NSNumber *)lengthAsNumber; @end 该声明具有2个特点.首先,

OC类的设计

//Objective-C面向对象的C语言. //OC完全兼容C,凡是C语言代码可以直接编译在OC的工程当中. [面向过程的语言]都是祈使句,直接和CPU沟通.目的是操作CPU,储存数据,管理数据. //数学逻辑,就像小学解应用题,关注的是数据和管理数据. [面向对象的语言]在程序中,添加能够接收消息的单元(对象),每个单元拥有自己的功能,各单元合作,完成程序. //应用程序都是用(面向对象的语言编程)(OOP)的 //面向对象没有具体的官方定义.早期只使用[继承][封装][多态]编写程序的思想