合同的定义类定义

Objective-C中类和方法的定义以及协议的使用
作者:芳草小脚丫
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Objective-C中类和方法的定义以及协议的使用,配合Mac下的Xcode IDE进行讲解,需要的朋友可以参考下
类和方法的定义
一般类都是继承NSObject,新建一个类时父类选择NSObject即可,oc只有单继承,没有多继承。
下面以一个简单的oc工程来讲解(需配置好Xcode工具以相应的SDK),会建工程的请直接跳到‘六'步骤。
一、新建一个oc编译环境,打开xcode-&File-&New-&Project(快捷键 command+shift+N)。
二、选择OS X--Application--Command Line Tool,选择next
三、填写项目名称(最好英文),你自己的名字,和公司的标志。Type选择Foundation,下面的勾表示是否选择ARC,建议初学者勾上。点击next
四、此时工程建好了,会看到一个main.m文件,所有的调用都在main.m中完成。
新建一个类,command+N,选择父类NSObject,取名people
五、点击next之后,出现以下界面,切记下面的√要打上。否则在编译时工程搜索不到此文件,会出现编译错误。
六、在people.h文件interface中添加变量,NSString为OC的字符串变量。
@interface Person : NSObject {
&&& NSString * _
然后在{}外面定义变量的初始化方法和set方法,格式:-(类型)方法名:(参数类型)参数1 参数名:(参数类型)参数2……,set方法名一般为set变量名,变量名首字母大写,此未苹果官方文档上的说明
-(void)setAge:(int)
-(void)setName:(NSString *)
定义变量的get方法,get方法名同样为get变量名
-(NSString *)
七、在people.m文件中实现people.h文件中声明的方法。
-(void)setAge:(int)age {
&&& _age =
-(void)setName:(NSString *)name {
&&& _name = [name copy];//copy方法涉及到oc的内存管理机制。使用copy可防止内存泄露
-(int)age {
&&& return _
-(NSString *)name {
&&& return _
七、在main.m中定义一个people类,并对其属性变量进行初始化。
定义一个people类:
Person *dwight = [[Person alloc] init];
给其属性赋值:
[dwight setName:@"Dwight Schrute"];
[dwight setAge:38];
NSLog(@"%@ (%d)", [dwight name], [dwight age]);
PS:一般NSString,NSArray,NSDictionary,NSData等类型的值打印用%@,int等C中的类型,按照C语言打印的关键字打印,NSInteger,NSNumber打印时用%d。
打印结果:
protocol协议,设置代理
协议(protocol)是ObjC中很重要的一部分,它用来定义可由任何其他类完成的方法,当本类中需要完成某些功能时,可由protocol来实现
protocol在三种情况中需要用到:
需要声明别的类期望完成的方法时
在隐藏自身类的情况下声明该类对象的接口时
在某些没有继承关系的类之间获取其之间的相似性,即两个类之间没有继承关系,但是都需要实现同样的方法时,就可通过代理来实现。
protocol文件中只是定义一些方法,当你在类中实现了这个protocol时,你就需要补充这些方法,系统会自动调用这些方法
protocol中方法分为@required和@optional,其中在@required下的方法必须实现,@optional中方法是选择性实现,也可不实现。
下面以一个简单实例说明protocol的用法(OS X下)在iOS下同样使用
一、新建一个Objective-C class,命名为iOSCoder
①、在iOSCoder@end后面定义一个protocol,命名为MyprotocolDelegate,并声明@required和@optional方法
②、在#import后声明@protocol MyprotocolDelegate
③、在interface中声明属性@property(nonatomic,assign) id&MyprotocolDelegate&&&
整个.h文件如下
#import &Cocoa/Cocoa.h&
@protocol MyprotocolD
@interface iOSCoder : NSObject
//声明delegate属性
@property(nonatomic,assign) id&MyprotocolDelegate&&&
//定义protocol
@protocol MyprotocolDelegate &NSObject&
//必须实现方法
-(void)StartObjectiveC;
-(void)StartP
//选择实现方法
-(void)StartJavaS
-(void)StartP
二、在需要用到iOSCoder类的文件中,声明并进行初始化
如果要用到iOSCoder中的delegate,则必须在.h文件中进行声明,声明格式
@interface 类名:继承类&MyprotocolDelegate&
定义iOSCoder对象
iOSCoder *ios = [[iOSCoder alloc] init];
&&& ios.delegate =
&&& if ([ios respondsToSelector:@selector(StartObjectiveC)]) {
&&&&&&& [self StartObjectiveC];
&&& if ([ios respondsToSelector:@selector(StartPrograming)]) {
&&&&&&& [self StartPrograming];
实现required方法
-(void) StartObjectiveC
&&& NSLog(@"@required,StartObjectiveC");
-(void)StartPrograming
&&& NSLog(@"@required,StartPrograming");
附:在iOS ViewController中使用时
假设A要跳转到B页面时需要在B页面中实现A中的protocol方法
#import &UIKit/UIKit.h&
@class AViewC
@protocol ADelegate &NSObject&
- (void) AMethod
@interface AViewController : UIViewController
&&&& id&ADelegate& _
@property(nonatomic,assign)id&ADelegate&
在页面跳转之前加上
if (_delegate && [_delegate respondsToSelector:@selector(AMethod)]) {
&&&&&&&&& [_delegate AMethod];
在B页面中声明代理&ADelegate&,实现AMethod方法,实例化A对象,并设置代理
则在B界面会调用AMethod方法,即完成了protocol的实现
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具合同的定义及分类_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
合同的定义及分类
&&简介合同的定义及分类
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢合同的分类和形式各有哪些?-法律知识大全|律师)
大家都在搜:
微信扫一扫 免费问律师手机扫一扫 法律兜里装
合同的分类和形式各有哪些?
来源:互联网整理,仅供参考
合同简单的来说是指当事人双方设立、终止。变更民事关系的一种协议。只要是依法成立的合同,就会受到法律的保护。那么, 合同的分类和形式各有哪些呢,这是大家对合同的知识所需要了解的。下面,就由律师365小编为大家带来合同的分类以及形式的相关内容。一、合同的类型学理上合同有广义、狭义、最狭义之分。1.广义合同指所有法律部门中确定权利、义务关系的协议。如民法上的民事合同、行政法上的行政合同、上的、国际法上的国际合同等。2.狭义合同指指一切民事合同。作为狭义概念的民事合同包括财产合同和身份合同。上述财产合同又包括合同(即下述的“最狭义合同”)、物权合同、准物权合同。上述身份合同又包括“婚姻、、监护等有关身份关系的协议”(——《中华人民共和国》第2条第2款)。3.最狭义合同仅指民事合同中的债权合同。《中华人民共和国合同法》分则所规定的15种有名合同全部是债权合同。这15种有名合同分别是:(1)买卖合
同;(2)供用电、水、气、热力合同;(3);(4);(5);(6)合同;(7);(8);
(9);(10);(11);(12);(13);(14);(15)。二、合同的形式合同形式,是指当事人合意的外在表现形式,是合同内容的载体。我国《合同法》第10条:当事人订立合同,有书面形式,口头形式和其他形式。法律,行政法规规定采用书面形式的,应该采用书面形式。当事人约定采用书面形式的,应当采用书面形式。经济合同的形式是指经济合同当事人之间明确权利义务的表达方式,也是当事人双方意思表示的表现方法。根据经济合同法规定,经济合同的形式主要有口头形式和书面形式两种。1.口头形式口头形式是指当事人双方用对话方式表达相互之间达成的协议。当事人在使用口头形式时,应注意只能是及时履行的经济合同,才能使用口头形式,否则不宜采用这种形式。2.书面形式书面形式是指当事人双方用书面方式表达相互之间通过协商一致而达成的协议。根据经济合同法的规定,凡是不能及时清结的经济合同,均应采用书面形式。在签订书面合同时,当事人应注意,除主合同之外,与主合同有关的电报、书信、图表等,也是合同的组成部分,应同主合同一起妥善保管。书面形式便于当事人履行,便于管理和监督,便于举证,是经济合同当事人使用的主要形式。以上的内容就是律师365小编为大家整理的有关合同的分类以及形式,相信大家在阅读了上文过后对于合同的知识也有了进一步的了解。如果您在合同方面还有什么其他不清楚的地方,您可以在律师365的栏目进行查询。延伸阅读:
无锡合同事务律师
律所:北京市盈科(无锡)律师事务所
区域:江苏/无锡
擅长劳动工伤
律所:江苏易细律师事务所
区域:江苏/无锡/惠山区
擅长婚姻家庭
相关知识推荐
相关咨询推荐
热门合同法规法律百科
合同在我们工作生活中的应用已经十分的广泛,合同法中对撤销权做出了明确规定,律师365合同法撤销百科栏目,为你解读合同法撤销权相关法律知识,来了解一下吧!
地区找律师
立即提问、免费短信回复
注:我们将对您的联系信息严格保密
专业律师专业解答
一站式服务
案情关键词
400-64365-00
服务时间:周一至周六8:00~22:00,
提供法律咨询解答和找律师服务
最新法律百科
最新法律知识
合同事务最新咨询
律师365,优质法律服务平台400-64365-00服务时间:周一至周六8:00~22:00服务指南平台保障律师入驻常见问题|||||Copyright(C) 成都六四三六五科技有限公司 版权所有 蜀ICP备号 增值电信业务经营许可证(川B2-)
1252律师在线
4013今日解答
您阅读本文耗时:您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
合同种类的选择.doc 6页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:150 &&
合同种类的选择
你可能关注的文档:
··········
··········
建筑工程合同策划
一、建筑工程合同策划概述
(一)合同策划及要考虑的问题
在建筑工程项目的初始阶段必须进行相关合同的策划,策划的目标是通过合同保证工程项目总目标的实现,必须反映建筑工程项目战略和企业战略,反映企业的经营指导方针和根本利益。
合同策划需考虑的主要问题有:项目应分解成几个独立合同及每个合同的工程范围;采用何种委托方式和承包方式;合同的种类、形式和条件;合同重要条款的确定;合同签订和实施时重大问题的决策;各个合同的内容、组织、技术、时间上的协调。
(二)合同策划的意义
(1)合同的策划决定着项目的组织结构及管理体制,决定合同各方面责任、权力和工作的划分,所以对整个项目管理产生根本性的影响。业主通过合同委托项目任务,并通过合同实现对项目的目标控制。
(2)合同是实施工程项目的手段,通过策划确定各方面的重大关系,无论对业主还是对承包商,完善的合同策划可以保证合同圆满地履行,克服关系的不协调,减少矛盾和争议,顺利地实现工程项目总目标。
(三)合同策划的依据
(1)业主方面:业主的资信、资金供应能力、管理水平和具有的管理力量,业主的目标以及目标的确定性,期望对工程管理的介入深度,业主对工程师和承包商的信任程度,业主的管理风格,业主对工程的质量和工期要求等。
(2)承包商方面:承包商的能力、资信、企业规模、管理风格和水平、在本项目中的目标与动机、目前经营状况、过去同类工程经验、企业经营战略、长期动机、承受和抗御风险的能力等。
(3)工程方面:工程的类型、规模、特点,技术复杂程度、工程技术设计准确程度、工程质量要求和工程范围的确定性、计划程度,招标时间和工期的限制,项目的盈利性,工程风险程序,工程资源(如资金、材料、设备等)供应及限制条件等。
(4)环境方面:工程所处的法律环境,建筑市场竞争激烈程度,物价的稳定性,地质、气候、自然、现场条件的确定性,资源供应的保证程度,获得额外资源的可能性。
(四)合同策划的程序
(1)研究企业战略和项目战略,确定企业及项目对合同的要求。
(2)确定合同的总体原则和目标。
(3)分层次、分对象对合同的一些重大问题进行研究,列出各种可能的选择,按照上述策划的依据,综合分析各种选择的利弊得失。
(4)对合同的各个重大问题作出决策和安排,提出履行合同的措施。在合同策划中有时要采用各种预测、决策方法,风险分析方法,技术经济分析方法。在开始准备每一个合同招标和准备签订每一份合同时都应对合同策划再作一次评价。
二、业主的建筑工程合同策划
(一)分散平行承包和全包
(1)分散平行承包,即业主将设计、设备供应、土建、电器安装、机械安装、装饰等工程施工分别委托给不同的承包商。各承包商分别与业主签订合同,各承包商之间没有合同关系。其特点是:
1)业主有大量的管理工作,有许多次招标,需作比较精细的计划及控制,因此项目前期需要比较充裕的时间。
2)业主负责各承包商之间的协调工作,对各承包商由于互相干扰所造成的问题承担责任。由于不确性因素的影响及协调难度大,因而这种承包方式的合同争执较多,工期长、索赔多。
3)该承包方式要求业主管理和控制较细,业主必须具备较强的项目管理能力。
4)对于大型工程项目,该承包方式使业主面对众多承包商,管理跨度大,协调困难,易造成混乱和失控,且业主管理费用增加,导致总投资增加和工期延长。
5)采用这种承包方式,业主可以分阶段进行招标,可以通过协调和项目管理加强对工程的干预。同时承包商之间存在着一定的制衡。
6)采用这种承包方式,项目的计划和设计必须周全、准确、细致。这样各承包商的工程范围容易确定,责任界限比较清楚。
(2)全包(又称统包,一揽子承包,设计一建造及交钥匙工程)合同,即由一个承包商承包建筑工程项目的全部工作,并向业主承担全部工程责任,包括设计、供应、各专业工程的施工,甚至包括项目前期筹划、方案选择、可行性研究和项目建设后的运营管理。该承包方式的特点是:
1)减少业主面对的承包商数量和事务性管理工作。业主提出工程总体要求,进行宏观控制、验收成果,通常不干涉承包商的工作,因而合同纠纷和索赔较少。
2)方便协调和控制,减少大量的重复性的管理工作,信息沟通方便、快捷、准确。有利于施工现场管理,减少中间环节,从而可减少费用和缩短工期。
3)业主的责任体系完备,避免各种干扰,对业主和承包商都有利,工程整体效益高。
4)业主必须选择资信度高、实力强,适宜全方位工作的承包商,他不仅需具备各专业工程的施工力量,而且尚需很强的设计、管理、供应,乃至项目策划和融资能力。
(3)采用上述二者之间的中间形式,即将工程委托给几个承包商,如设计、施工、供应等承包商。
(二)招标方式的选择
国际上经常采用的招标方式有公开招标、邀请招标和议标。我国
正在加载中,请稍后...

我要回帖

更多关于 合同的定义 的文章

 

随机推荐