[Objective-c] 002_对象 类 变量 方法
接触过Java的对面向对象应该是熟悉不过了, Objective-C也是面向对象的。
- 类
- 对象
- 变量
- 方法
Objective-c 中如何定义一个类?
.h文件
#import <Foundation/Foundation.h>
@interface Student: NSObject{ // 创建学生类继承NSObject
NSString * name;
int age;
}
-(void)setName:(NSString*)nameString; // name set方法
-(void)setAge: (int)ageValue; // age set方法
-(NSString*)getName; // name get方法
-(NSString*)getAge; // age get方法
@end;
.m文件
@implementation Student
-(void)setName:(NSString*) nameString{ // 实现setName方法
if(nameString!= nil){
[name relelase] ; // 释放原来的name
[nameString retain]; // 保留nameString
name = nameString;
}
}
-(void)setAge: (int)ageValue {
age = ageValue;
}
-(NSString*)getName {
return name;
}
- (int) getAge {
return age;
}
@end;
实例化类对象 (main.m文件)
#import <Foundation/Foundation.h>
int main(int argc,const char*argv[]){
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] intit ];
Student *student = [[SKPerson alloc] init]; //初始化对象
[student setName:@"SuperDo"];
[student setAge:];
[student release];
[pool release];
return ;
}
在上面的.h文件中我们对一个属性的get set 一一申明,然后在.m文件中一一实现,其实在Objective-c 中有便捷的写法,我们改写下
.h文件
#import <Foundation/Foundation.h>
@interface Student: NSObject{ // 创建学生类继承NSObject
NSString * name;
int age;
}
@property (nonatomic,retain) NSString* name; // 一行代码就申明了 setName 和 getName
@property (nonatomic,assign)int age; // 一行代码就申明了 setAge 和 getAge
@end;
@implementation Student
@synthesize name; // 一行代码就实现了 setName 和 getName
@synthesize age; // 一行代码就实现了 setName 和 getName
@end;

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4526629.html
[Objective-c] 002_对象 类 变量 方法的更多相关文章
- PYTHON-面向对象 类 绑定方法
面向对象三大特性(*****) 1继承 1. 什么是继承 继承是一种新建类的方式,新建的类称之为子类/派生类,被继承的类称之为父类/基类/超类 继承与现实生活中的继承一个意思 (例如 小明继承小明他爹 ...
- 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)
译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...
- Python类,域,方法,对象,继承
类和对象: 是面向对象编程的两个主要方面,类创建一个新类型,而对象这个类的实例.. 域: 属于一个对象或类的变量被称为域.域有两种类型: 属于每个实例(类的对象)或属于类本身.它们分别被称为实例变量和 ...
- Java SE ---类,方法,对象等
1,面向对象程序设计的三大基本特征:继承(Inheritence).封装(Encapsulation).多态(Polymorphism) 2,如何定义类? 修饰符 cla ...
- JS创建类和对象(好多方法哟!)
http://www.cnblogs.com/tiwlin/archive/2009/08/06/1540161.html 这是别人写的~~~我借来看看 JavaScript 创建类/对象的几种方式 ...
- OC语法2——OC的类,方法,成员变量的创建
类的创建: 与Java不同的是,OC创建一个类需要两个文件(.h和.m文件) 1> xxx.h:声明文件.用于声明成员变量和方法.关键字@interface和@end成对使用. 声明文件只是声明 ...
- 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法
. 一. 类定义 类定义需要实现两部分 : -- 接口部分 : 定义类的成员变量和方法, 方法是抽象的, 在头文件中定义; -- 实现部分 : 引入接口部分的头文件, 实现抽象方法; 1. 接口部分定 ...
- day 23 对象的名称空间 类,对象属性和方法 封装 接口提供
一.对象的特有名称空间 # 对象独有的名称空间:在产生对象时就赋初值 '''class ted: def func(): 当func里不存在参数时,调用时不需要给值 print('hah')ted.f ...
- final 关键字:用来修饰类,方法,成员变量,局部变量
final 关键字:用来修饰类,方法,成员变量,局部变量 表示最终的不可变的 1.final修饰一个类 表示当前的类不能有子类,也就是不能将一个类作为父类 格式: public final class ...
随机推荐
- Arduino编程基础1.1
Arduino编程语言是建立在C/C++语言基础上的,即以C/C++语言为基础,把AVR单片机(微控制器)相关的一些寄存器参数设置等进行函数化,以利于开发者更加快速地使用.其主要使用的函数包括数字I/ ...
- 用Navicat建MySQL数据库表,动态改变创建时间和更新时间戳
1.create_time 记录创建的时间,设默认值为:CURRENT_TIMESATMP 注意:不勾选那个[根据当前时间戳更新] 2.operator_time 更新记录的时间,勾选那个[根据当前时 ...
- Linux查看redis占用内存的方法
redis-cli auth 密码info # Memory used_memory:13490096 //数据占用了多少内存(字节) used_memory_human:12.87M //数据占用了 ...
- 系统通配符号、系统正则符号,grep
系统通配符号.系统正则符号,grep 1 系统通配符号 系统通配符号:借助通配符号 匹配文件名称信息 1.1 *: 匹配所有(任意)字符信息 找寻以old开头的文件 find /oldboy -typ ...
- strut2运行流程的详解
虽然现在struts2已经慢慢淡出了视野,但是作为一个老框架,在我看来,学习价值还是有的,多阅读框架源码帮助很大,大家有空的话也可以尝试看看,好了,话不多说,今天的主题就像标题写的那样,主要探究str ...
- 面向开发者的Docker实践
show me the code and talk to me,做的出来更要说的明白 本文源码,请点击learnSpringboot 我是布尔bl,你的支持是我分享的动力! 一. 引入 有开发经验的都 ...
- 201771030120-王嫄 实验一 软件工程准备 <课程学习目的思考>
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu- ...
- QTableWidget自定义委托
QTableWidget单元格使用自定义的lineEdit控件导致不能选中 使用自定义委托解决 1.自定义委托 class LineEditDelegate : public QItemDelegat ...
- A~Z;26个字母美式
26个字母美式读法 音频下载地址: 链接:https://pan.baidu.com/s/1KOlxNCydgtsODQZMT9JFJg 提取码:8a9g
- linux 被入侵后扫尾工作
比较恶心,安装了后门,还把ssh sshd 给改了,服务器在机房,还不大好处理,如果贸然上去改,还容易把自己关在外面. 但是我有salt ,上面可以用cmd.run运行一切命令.不走sshd服务. l ...