您的位置:首页 > 移动开发 > Objective-C

Object-C 基础学习(二)

2016-04-23 19:56 525 查看
OC也是一门面象对象编程的语言,与java一样,OC也不支持多重继承,java的最顶层的父类是Object,OC最顶层的父类则是NSObejct,OC的类分为两个文件,一个声明变量与方法的头文件和一个实现了方法的.m文件。

//
//  Circle.h
//  HelloWord
//
//  Created by huangzhebin on 16/4/23.
//  Copyright © 2016年 huangzhebin. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Circle : NSObject
{
@private int color, width, height;
}
-(void) setColor:(int) color;
-(void) setWidth:(int) width;
-(void) setHeight:(int) height;
-(float) addNumber1:(float)num1 toNumber2:(float)num2;
-(void) setString:(NSString*)test withColor:(int)color;
@end


类的声明以@interface开头以@end结尾,继承与java的extends标示符不一样,OC以:后面跟的类表示继承的父类

方法的声明以“-”符号开头的表示是对象的方法,以“+”开头的表示类方法,java中以static关键字声明一个静态方法为类方法

后面的(void)表示方法返回的数据类型,(NSString)表示返回NSString数据类型;学过java的再来看OC的方法声明一开始会有点晕菜,java声明一个方法的语句例子为:

private void setColor(int color)

这是传一个参数的,对应的OC语法为

-(void)setColor:(int)color;

声明只有带一个参数的还比较好理解

接下来看两个参数的

java:

private void setColor(String text, int color)

OC:

-(void)setColor:(NSString) text color:(int)color

java的传两个参数和传一个参数没有多大区别,OC多个参数一开始看了就懵了,和C或者java的完全不一样,OC注重的是代码读起来的连贯性,换个角度重新声明一下

-(void)setText:(NSString)text withColor:(int)color;

这样看起来就简单明了多了,跟英语的语句一样,set text with color,所以它的方法名并不是参数前的那个词就是方法名,个人理解它的方法名其实是一个句子,一个可以用来描述它这个方法所实现功能的句子。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: