Objective-C 面向对象基础-类
来源:互联网 发布:hr系统人力资源软件 编辑:程序博客网 时间:2024/05/21 17:20
面向对象是一种编程思想,无论是在C++, Java还是OC中都是差不多的,实现了一个简单的Model类, OC中和C++类似,类的声明和实现需要显示的分开,声明在.h中,实现部分则在.m中。
声明部分:Goods.h
//// Goods.h// 02_OOP//// Created by apple on 14-11-8.// Copyright (c) 2014年 cc. All rights reserved.////Foundation是个FrameWork, Foundation.h 引用了很多常用的OC类#import <Foundation/Foundation.h>/** * 1. OC是面向对象的,OC中的关键字前面需要加上@,为了与C/C++的关键字区分,OC是支持C,C++,OC三者混编的 * 2. @interface 并不是java中的接口,而是代表声明一个类。。(是不是有点蛋疼) @end 在这两个关键字之间写类的声明部分 * 3. : 是继承符号,和C++ C#是一样的 * 4. NSObject是否OC中所有类的最基类,继承不能省略 */@interface Goods : NSObject { //定义一个商品的Model类,Goods //OC声明成员属性必须定义在花括号之内 //商品价格 int m_price; //商品数量 int m_count; } // OC定义类的 花括号后面没有; 这点与C++不同// OC声明方法前面需要加 - 或者 +来区分, - 带便非静态方法 + 代表静态方法(static方法)// OC中建议getters方法与成员函数同名,即C++中的 int getPrice();- (int)price;// OC中方法名中的冒号代表参数,一个冒号代表一个参数,并且冒号也似函数名的一部分 函数名其实是setPrice: (蛋疼)- (void)setPrice:(int)price;- (int)count;- (void)setCount:(int)count;- (void)printProperty:(int)price:(int)count;@end实现部分: Goods.m
//// Goods.m// 02_OOP//// Created by apple on 14-11-8.// Copyright (c) 2014年 cc. All rights reserved.//#import "Goods.h"#import <Foundation/Foundation.h>/** * @implementation 代表类的实现部分。。同样也不要理解为java里的实现接口 */@implementation Goods//定义两组getters和setters方法- (void)setPrice:(int)price { m_price = price;}- (int)price { return m_price;}- (void)setCount:(int)count { m_count = count;}- (int)count { return m_count;}- (void)printProperty:(int)price:(int)count { NSLog(@"价格=%i, 数量=%d", price, count);}@end在main中创建类测试一下
//// main.m// 02_OOP//// Created by apple on 14-11-8.// Copyright (c) 2014年 cc. All rights reserved.//#import <Foundation/Foundation.h>#include "Goods.h"int main(int argc, const char * argv[]) { @autoreleasepool { //OC中调用方法 [类名 函数名] 或者 [对象 函数名] //OC创建对象需要2步 // 1.需要先调用NSObject继承而来的的静态方法alloc申请内存 // 2.调用init方法来初始化对象,返回的对象是指针类型 Goods* goods = [[Goods alloc] init]; //调用setters [goods setPrice:99]; [goods setCount:1000]; //调用printProperty传入 两个getters获取成员属性的值, 打印出来 [goods printProperty:[goods price] :[goods count]]; //释放goods对象,如果使用的auto模式,则不需要调用, xcode在编译时会产生维护代码来帮助程序员释放掉内存 //[goods release]; } return 0;}
0 0
- Objective-C 面向对象基础-类
- Objective-C 面向对象基础
- Objective-C 面向对象基础-构造方法
- Objective-C基础(面向对象-上)
- Objective C面向对象
- objective-c面向对象
- Objective-C 面向对象
- Objective-面向对象基础(类)
- 黑马程序员-iOS基础-Objective-C基础(二)面向对象思想及类
- Objective-C 面向对象(类II)
- IOS开发之路-Objective-C 面向对象编程基础
- Objective-C基础——面向对象语法02
- Objective-C基础——面向对象语法03
- Objective-C基础——面向对象语法04
- 黑马程序员--iOS--Objective-C基础 (面向对象)
- Objective-C 基础一:面向对象过程基础知识
- objective-c 编程基础(三 面向对象编程)
- Objective-C语言:面向对象
- 【二分图|最小路径覆盖】POJ-1422 Air Raid
- Rebuild my Ubuntu
- UML的前世今生
- Recommended Books on Machine Learning and Big Data
- iphone 弹出效果制作
- Objective-C 面向对象基础-类
- LaTeX使用小结
- xcode6 快捷键
- JTabbedPane选项窗格的使用
- Log 输出格式
- poj2352-线段树-start
- i os 照相 图片库
- iphone 网络开发 iOS
- 线段树-poj3468