IOS之学习笔记九(对象的初始化)

 

1、oc对象的初始化

[[** alloc] init]  分2步,alloc是开辟内存,分配在堆区,这里java和C++都一样,init是进行初始化。

[** new]和[[** alloc] init]等效,习惯用前面的。

 

 

 

 

2、对象的初始化常用方法demo

FKCard.h
#ifndef KFCard_h
#define KFCard_h
@interface KFCard : NSObject
@property (nonatomic, copy) NSString *brand;
@property (nonatomic, copy) NSString *model;
@property (nonatomic, copy) NSString *color;-(id)initWithBrand:(NSString *)brand model:(NSString *) mode;
-(id)initWithBrand:(NSString *)brand model:(NSString *) mode color:(NSString *)color;
-(void)show;
@end
#endif /* KFCard_h */

 

FKCard.m

#import <Foundation/Foundation.h>
#import "KFCard.h"@implementation KFCard
-(void)show
{NSLog(@"car brand is %@, and model is %@, and color is %@", self.brand, self.model, self.color);
}
-(id)init
{if (self = [super init]){self.brand = @"aodi";self.model = @"Q5";self.color = @"yellow";}return self;
}
-(id)initWithBrand:(NSString *)brand model:(NSString *) mode
{if (self = [super init]){self.brand = brand;self.model = mode;self.color = @"red";}return self;
}
-(id)initWithBrand:(NSString *)brand model:(NSString *) mode color:(NSString *)color
{if (self = [self initWithBrand:brand model:mode]){self.color = color;}return self;
}
@end

 

 

 

main.m

#import "KFCard.h"
int main(int argc, char * argv[]) {@autoreleasepool {KFCard *car = [KFCard new];[car show];KFCard *car1 = [[KFCard alloc] initWithBrand:@"奔驰" model:@"S200"];[car1 show];KFCard *car2 = [[KFCard alloc] initWithBrand:@"奔驰" model:@"S200" color:@"black"];[car2 show];}
}

 

 

 

3、运行结果如下

car brand is aodi, and model is Q5, and color is yellow
car brand is 奔驰, and model is S200, and color is red
car brand is 奔驰, and model is S200, and color is black

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win定时关机_两种方法让你设置电脑定时关机

方法一&#xff1a;利用计划程序步骤一&#xff1a;在开始菜单搜索框中输入计划任务&#xff0c;点击任务计划程序步骤二&#xff1a;点击操作再点击创建基本任务创建基本任务中输入名称和相关描述步骤三&#xff1a;触发器选择为每天&#xff0c;然后点击下一步步骤四&#xf…

图片轮转

js/*轮播*/ $(function () {var page 1;var i 4; //每版放4个图片var len $(".scroll_content li").length;var page_count Math.ceil(len / i); //只要不是整数&#xff0c;就往大的方向取最小的整数var none_unit_width $(".scroll_mod").width()…

web面试题

WEB前端面试题整理列表 1、列举你工作中遇到的IE6 BUG&#xff0c;谈谈解决方案。 3、如何用CSS分别单独定义IE6、7、8的width属性。 所有浏览器 通用height: 100px;IE6 专用_height: 100px;IE6 专用*height: 100px;IE7 专用*height: 100px;IE7、FF 共用height: 100px !importa…

启动物联网智能校园,NFC技术可变出哪些创新应用?

NFC在物联网领域也深耕相当长的时间&#xff0c;随着法规松绑&#xff0c;NFC终于在中国崭露头角&#xff0c;官产学界纷纷积极拓展应用服务。而在校园生活中&#xff0c;NFC又扮演了什么样的角色&#xff1f; 近场通讯技术&#xff08;Near Field Communication&#xff0c;以…

linux电脑培训,电脑培训Linux服务器初始化Shell

常州电脑培训-Linux服务器初始化Shell脚本#!/bin/sh# desc: lsm03624 modified by www.webnginx.com#-------------------cut begin-------------------------------------------#welcomecat << EOF--------------------------------------------------------------| We…

IOS学习笔记十(多态)

1、多态 相同类型调用同一个方法呈现多种不同的行为特征就是多态 当子类对象直接赋值给父类指针变量&#xff0c;父类 *p [子类 new];&#xff0c;运行类型是子类&#xff0c;编译类型是父类&#xff0c;所以p不能调用子类单独实现的方法&#xff0c;如果子类重写了父类方法…

AsyncEx - async/await 的辅助库

简介AsyncEx - async/await 的辅助库安装使用Nuget安装Nito.AsyncEx使用AsyncLock构造AsyncLock函数可以采用异步等待队列&#xff1b;传递自定义等待队列以指定您自己的排队逻辑。private readonly AsyncLock _mutex new AsyncLock(); public async Task UseLockAsync() {// …

你要知道的开源地理空间软件10件事

你对开源地理空间软件了解多少?执行编辑Adena Schutzberg给大家做个简介&#xff0c;他为我们提出了理解开源地理空间软件的10个关键点。 1、开源地理空间软件 开源地理空间软件是指通过开源许可分发传播的GIS、GPS、空间数据管理、相关的开发工具以及用户应用程序。 有人用术…

dell设置从ssd启动_为什么懂电脑的人都说SSD不要分区?原来真相是这样!

最近韩博士打开电脑时发现开机速度真是越来越慢&#xff0c;从一开始的十秒左右到现在居然要一分多钟才能进入桌面&#xff01;果然是老了。花费一天的时间终于将电脑清理个干净&#xff0c;原以为能够缓解开机慢的情况&#xff0c;结果还是一样&#xff0c;等到地老天荒才看到…

数据切分——Atlas介绍

Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上&#xff0c;修改了大量bug&#xff0c;添加了很多功能特性。目前该项目在360公司内部得到了广泛应用&#xff0c;很多MySQL业务…

在Arcmap中加载互联网地图资源的4种方法

在Arcmap中加载互联网地图资源的4种方法 前一段时间想在Arcmap中打开互联网地图中的地图数据&#xff0c;如影像数据、基础地图数据等&#xff0c;经过简单研究目前总结了四种方法&#xff0c;整理下与大家分享&#xff0c;有些内容可能理解有误&#xff0c;希望大家多多指教。…

iOS开发之手势识别

感觉有必要把iOS开发中的手势识别做一个小小的总结。在上一篇iOS开发之自定义表情键盘(组件封装与自动布局)博客中用到了一个轻击手势&#xff0c;就是在轻击TextView时从表情键盘回到系统键盘&#xff0c;在TextView中的手是用storyboard添加的。下面会先给出如何用storyboard…

IOS学习笔记之十一(包装类、description、isequal)

1、下面的类不是包装类 1)、NSInteger(64位相对于long) 2)、NSUInteger(64位相对于unsigned long) 3)、CGFLoat(64位相对于double, 32位相对于float) 2、下面类是包装类 1)、NSValue NSValue是NSNumber的父类 2)、NSNumber 一般方法 numberWith***&#xff1a;把指定类…

WPF 基础控件之 GroupBox样式

其他基础控件1.Window2.Button3.CheckBox4.ComboBox5.DataGrid 6.DatePicker7.ExpanderGroupBox控件修改Style需要注意使用Grid分两行进行展示第0行显示Header第1行显示Content。Header&#xff1a;添加Border并边框BorderThickness"1" 内部新增 ContentPresenter 然…

软件测试的目的

测试的目的是什么呢&#xff1f;这是一个看起来很简单、不太值得讨论的问题&#xff0c;但往往这样的问题其实是很难回答的&#xff0c;比如人生的意义是什么&#xff1f;好&#xff0c;现在我们就来&#xff0c;列举一下我们经常听到的对这个问题的回答&#xff1a;“软件测试…

并联系统的失效率公式推导_供暖系统水力平衡率对室温的影响

摘要&#xff1a;热水供暖系统设计&#xff0c;为了保证室内能够达到设计温度&#xff0c;必须使流进散热器的热水流量与房间的热负荷相匹配&#xff0c;散热器才能散发足够热量以弥补由于建筑物围护结构散失的热量&#xff0c;保证室内温度。供暖系统设计只有通过正确的水力计…

面向对象——一起来复习托付与事件!

事件与托付事实上并不难理解。仅仅是由于它们的使用方式与经常使用的编码有非常大的区别&#xff0c;例如通常编写的都是同步代码&#xff0c;调用一个类型的方法&#xff0c;会即刻出现方法运行的结果。这是符合逻辑的。但在某些情况中&#xff0c;同步代码未必满足需求&#…

VS2008打包(含水晶报表)与安装注意事项

1、解决使用次数限制 修改下面两项注册值为1000: HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\10.5\Report Application Server\InprocServer\PrintJobLimit HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\10.5\Report Application Server\Server\PrintJobLimit 2、添…

为何Windows版QuickTime突然寿终正寝?

在QuickTime中两个零日漏洞被披露、且苹果公司突然停止支持该软件后&#xff0c;美国国土安全部和趋势科技公司发布安全公告建议用户卸载Windows版QuickTime。苹果公司随后宣布Windows版QuickTime寿终正寝。为什么苹果不修复这些漏洞&#xff0c;或者至少提前告知用户其结束Qui…

IOS学习笔记十二(类别和扩展)

1、类别(category)和扩展 类别:OC动态特征许使用类别添加新的方法&#xff0c;不需要创建子类 扩展&#xff1a;和类别相似&#xff0c;扩展相对于匿名类别 2、使用格式 类别&#xff1a;interface 已有类(类别名)…end implmentaion 已有类(类别名)…end 扩展&#xff1a;im…