Object-c基本语法
//
// main.m
// OCbasic1
//
// Created by apple on 14-8-5.
// Copyright (c) 2014年 苹果IOS软件开发者. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Dog.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
//write code here.
Dog *dog = [[Dog alloc] init];
//创建一个dog对象并初始化
//定义参数,调用方法
int ID = [dog getID];
int age = [dog getage];
float price = [dog getprice];
printf("dog ID: %d age: %d price: %f\n",ID,age,price);
//dog ID: 1 age: 2 price: 60.000000
Dog *dog2 = [[Dog alloc ]initWithID:20 andage:5 andprice:100.88];
ID =[dog2 getID];
age = [dog2 getage];
price = [dog2 getprice];
printf("dog2 ID: %d age: %d price: %f\n",ID,age,price);
//dog2 ID: 20 age: 5 price: 100.879997 return 0;
[dog2 setID:19 andage:4 andprice:86.8];
ID =[dog2 getID];
age = [dog2 getage];
price = [dog2 getprice];
printf("dog2 ID: %d age: %d price: %f\n",ID,age,price); }
}
//
// Dog.h
// OCbasic1
//
// Created by apple on 14-8-5.
// Copyright (c) 2014年 苹果IOS软件开发者. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Dog : NSObject
{
//字段(成员变量)及其访问权限
@protected
int ID;
@public
int age;
@private
float price;
}
//凡是以initXX开头的都是构造函数
- (id) init;
//函数名为init,不带参数
- (id) initWithID:(int)newID;
//函数名为initWith:,带一个int的参数
- (id) initWithID:(int)newID andage:(int)newage;
//函数名为initWithID:andage:,带两个int参数
- (id) initWithID:(int)newID andage:(int)newage andprice:(float)newprice;
//函数名为initWithID:andage:andprince
- (void) setID:(int)newID;
- (int) getID;
//set/get ID
- (void) setage:(int)newage;
- (int) getage;
//set/get age
- (void) setprice:(float)newprice;
- (float) getprice;
//set/get price
- (void) setID:(int)newID andage:(int)newage;
// setID:andage:两个参数
- (void) setID:(int)newID andage:(int)newage andprice:(float)newprice;
// setID:andage:andprice: 3个参数
@end
//
// Dog.m
// OCbasic1
//
// Created by apple on 14-8-5.
// Copyright (c) 2014年 苹果IOS软件开发者. All rights reserved.
//
#import "Dog.h"
@implementation Dog
- (id)init
{
return [self initWithID:1 andage:2 andprice:60.0];
// self = [super init];
// // super表示父类
// // self 表示对象自己
// if (self)
// {
// ID = 1;
// age = 2;
// price = 60.0f;
// }
// return self;
}
- (id)initWithID:(int)newID
{
return [self initWithID:newID andage:2];
// self = [super init];
// if (self) {
// ID = newID;
// age = 2;
// price = 60.0f;
// }
// return self;
}
- (id)initWithID:(int)newID andage:(int)newage
{
return [self initWithID:newID andage:newage andprice:60.0f];
// self = [super init];
// if (self) {
// ID = newID;
// age = newage;
// price = 60.0f;
// }
// return self;
}
- (id)initWithID:(int)newID andage:(int)newage andprice:(float)newprice
{
self = [super init];
if (self) {
ID = newID;
age = newage;
price = newprice;
}
return self;
}
- (void)setID:(int)newID
{
ID = newID;
}
- (int)getID
{
return ID;
}
- (void)setage:(int)newage
{
age = newage;
}
- (int)getage
{
return age;
}
- (void)setprice:(float)newprice
{
price = newprice;
}
- (float)getprice
{
return price;
}
- (void)setID:(int)newID andage:(int)newage
{
ID = newID;
age = newage;
}
- (void)setID:(int)newID andage:(int)newage andprice:(float)newprice
{
ID = newID;
age = newage;
price = newprice;
}
@end
Object-c基本语法的更多相关文章
- 终于懂了:Delphi的函数名不是地址,取地址必须遵守Object Pascal的语法(Delphi和C的类比:指针、字符串、函数指针、内存分配等)good
这点是与C语言不一样的地方,以前我一直都没有明白这一点,所以总是不明白:函数地址再取地址算怎么回事? ------------------------------------------------- ...
- Java提高学习之Object类详解(1)
转自:http://www.importnew.com/10304.html 问:什么是Object类? 答:Object类存储在java.lang包中,是所有java类(Object类除外)的终极父 ...
- Object C和C#的差异
从C#到Object C,循序渐进学习苹果开发(1)--准备开发账号和开发环境 本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台开发苹果开发的一系列感想和体验历程,本系列文章是在起步 ...
- JS apply的巧妙用法以及扩展到Object.defineProperty的使用
Math.max 实现得到数组中最大的一项 var array = [1,2,3,4,5]; var max = Math.max.apply(null, array); console.log(ma ...
- 深入理解 Object.defineProperty 及实现数据双向绑定
Object.defineProperty() 和 Proxy 对象,都可以用来对数据的劫持操作.何为数据劫持呢?就是在我们访问或者修改某个对象的某个属性的时候,通过一段代码进行拦截行为,然后进行额外 ...
- day 50 js-part1基础语法,数据类型及用法,流程控制语句,循环
js基本概念: JavaScript 是世界上最流行的脚本语言. JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaScript ...
- Object C学习笔记10-静态方法和静态属性
在.NET中我们静态使用的关键字static有着举足轻重的作用,static 方法可以不用实例化类实例就可以直接调用,static 属性也是如此.在Object C中也存在static关键字,今天的学 ...
- iOS 开发系列:CoreData Object 变成 Fault 的一种方式
@quote: 近来一直与 CoreData 打交道.这是一个架构庞大.学习曲线比較陡峭的 iOS 组件,每次遇到问题都会对其有新的认识. 这次就仅仅讲一点,关于错误认知 Object(NSManag ...
- Java:Object类详解
Java的一些特性会让初学者感到困惑,但在有经验的开发者眼中,却是合情合理的.例如,新手可能不会理解Object类.这篇文章分成三个部分讲跟Object类及其方法有关的问题. 上帝类 问:什么是Obj ...
- Android学习笔记_46_Android的intent之间Object、List、List<Object>和全局变量数据的传递(Parcelable Serializable)
转http://blog.csdn.net/pku_android/article/details/7456305 一.传递List<String>和List<Integer> ...
随机推荐
- xilinx AXI相关IP核学习
xilinx AXI相关IP核学习 1.阅读PG044 (1)AXI4‐Stream to Video Out Top‐Level Signaling Interface (2)AXI4‐Stream ...
- js 实现滚动字幕
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- javascript map forEach filter some every在购物车中的实战演练区分用法
1.map forEach 1.map 循环遍历每一项,返回一个新的数组 例: 购物车商品小计: //购物车 var cart=[ {"id":101,"name&quo ...
- 瑞萨S5D9实现UART环形缓冲
队列的常见两种形式,普通队列和环形队列: 普通队列: 环形队列: 当有大量数据的时候,我们不能存储所有的数据,那么计算机处理数据的时候,只能先处理先来的,那么处理完后呢,就会把数据释放掉,再处理下一个 ...
- ALGO-13_蓝桥杯_算法训练_拦截导弹(贪心,DP)
问题描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
- PyQt—QTableWidget实现翻页功能
主要使用QTableWidget中的三个函数实现: verticalScrollBar().setSliderPosition() 设置当前滑动条的位置 verticalScrollBar().max ...
- MyBatis #{} 和 ${} 引用值的用法
1.#{} 引用值的用法 UserMapper配置文件: <select id="queryOne" resultType="cn.tedu.mybatis.bea ...
- Scala类与对象
类简介 简介 类是对象的蓝图.一旦你定义了类,就可以用关键字new根据类的蓝图创建对象.在类的定义里,可以放置字段和方法,这些被笼统地称为成员.对于字段,不管是val还是var定义的,都是指向对象的变 ...
- Java学习---异常处理
import java.util.Scanner; public class MyExceptionTest { public static void check(Square A) throws W ...
- css 规则中两个类连在一起是什么意思?
原文地址:http://www.cxybl.com/html/wyzz/CSS/20120601/27374.html 比如: .c1.c2 { text-decoration:underline; ...