Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Objective C 2.0 ¼òÃ÷½Ì³Ì (5) ÊôÐÔ(Property)


Objective C 2.0 ¼òÃ÷½Ì³Ì (5) ÊôÐÔ(Property)





×÷ÕߣºAdministrator
  

ÖÜÁù, 2009Äê 03ÔÂ 28ÈÕ 07:47
Objective C 2.0 ΪÎÒÃÇÌṩÁËproperty¡£Ëü´ó´ó¼ò»¯ÁËÎÒÃÇ´´½¨Êý¾Ý³ÉÔ±¶Áдº¯ÊýµÄ¹ý³Ì£¬¸üΪ¹Ø¼üµÄÊÇËüÌṩÁËÒ»ÖÖ¸üΪ¼ò½à£¬Ò×ÓÚÀí½âµÄ·½Ê½À´·ÃÎÊÊý¾Ý³ÉÔ±¡£
ÎÒÃÇÏÈÀ´¿´Ò»ÏÂÔÚObjective C 1.xÏÂÎÒÃÇÉùÃ÷BookÀàµÄÍ·Îļþ£º
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//
// Book.h
 
#import <Cocoa/Cocoa.h>
 
 
@interface Book : NSObject {
NSString *title;
NSNumber* numofpages;
}
 
- (id)initWithTitle:(NSString*) booktitle andNumofpages:(NSNumber*) num;
 
- (NSString*) title;
- (void) setTitle:(NSString*)newtitle;
 
- (NSNumber*) numofpages;
- (void) setNumofpages:(NSNumber*)newnumofpages;
 
- (NSString*) summary;
 
@end
ÔÚObjective C 2.0Ï£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÉùÃ÷ÓëÊý¾Ý³ÉԱͬÃûµÄpropertyÀ´Ê¡È¥¶Áдº¯ÊýµÄÉùÃ÷¡£´úÂëÈçÏÂËùʾ£º
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//
// Book.h
 
#import <Cocoa/Cocoa.h>
 
 
@interface Book : NSObject {
NSString *title;
NSNumber* numofpages;
}
 
- (id)initWithTitle:(NSString*) booktitle andNumofpages:(NSNumber*) num;
 
@property (retain) NSString* title;
@property (retain) NSNumber* numofpages;
 
@property (readonly) NSString* summary;
 
@end
ÎÒÃÇΪÿһ¸öÊý¾Ý³ÉÔ±ÉùÃ÷ÁËÒ»¸öproperty¡£¼´Ê¹BookÀàÖÐûÓÐsummaryÕâ¸öÊý¾Ý³ÉÔ±£¬ÎÒÃÇͬÑù¿ÉÒÔÉùÃ÷Ò»¸öÃûΪsummaryµÄproperty¡£ÉùÃ÷propertyµÄÓ﷨Ϊ£º
@property (²ÎÊý) ÀàÐÍ Ãû×Ö;
ÕâÀïµÄ²ÎÊýÖ÷Òª·ÖΪÈýÀࣺ¶ÁдÊôÐÔ£¨readwrite/readonly£©£¬setterÓïÒ⣨assign/retain/copy£©ÒÔ¼°atomicity£¨nonatomic£©¡£
assign/retain/copy¾ö¶¨ÁËÒÔºÎÖÖ·½Ê½¶ÔÊý¾Ý³ÉÔ±¸³ÓèÐÂÖµ¡£ÎÒÃÇÔÚÉùÃ÷summary properyʱʹÓÃÁËreadonly£¬ËµÃ÷¿Í»§¶ËÖ»ÄܶԸÃproperty½øÐжÁÈ¡¡£atomicityµÄĬÈÏÖµÊÇatomic£¬¶ÁÈ¡º¯ÊýΪԭ×Ó²Ù×÷¡£
ÏÂÃæÎÒÃÇÀ´¿´Ò»ÏÂÔÚObjective C 1.x ÏÂimplementationÎļþ£º
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16


Ïà¹ØÎĵµ£º

¿É±ä²ÎÊýµÄCº¯Êý

(Ò»)дһ¸ö¼òµ¥µÄ¿É±ä²ÎÊýµÄCº¯Êý
ÏÂÃæÎÒÃÇÀ´Ì½ÌÖÈçºÎдһ¸ö¼òµ¥µÄ¿É±ä²ÎÊýµÄCº¯Êý.д¿É±ä²ÎÊýµÄ
Cº¯ÊýÒªÔÚ³ÌÐòÖÐÓõ½ÒÔÏÂÕâЩºê:
void va_start( va_list arg_ptr, prev_param );
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
vaÔÚÕâÀïÊÇvariable-argument(¿É±ä²ÎÊý)µÄÒâ˼.
ÕâÐ ......

#ÔÚCÖеÄÃîÓÃÄãÖªµÀ¶àÉÙ

CÖеÄ#ºÅ²»½öÊÇ#include£¬#defineµÈµÄ¹Ø¼ü×ÖÊ×ʹÓöøÒÑ£¬#ÔÚºêÖл¹ÓкܶàÓ÷¨¡£¾ßÌåÇë¿´ÏÂÃæÎÒÀ´¾ÙÀý
1.Ë«#ºÅµÄºêÓ÷¨¡£
ÎÒÏàÐÅË«##ºÅµÄÓ÷¨Ó¦¸Ã´ó²¿·ÖÈ˶¼¼û¹ý°É£¬Ö÷ÒªÊÇÓÃÀ´Á¬½Óºê±äÁ¿ÃûʹÓã¬ÔÚGCC²Î¿¼ÊÖ²áÖÐÕâÑù¼ÇÔØ¡£
¿ÉÓÃÓÚºêÄÚ²¿½«Á½¸öÔ´´úÂëȨ±êÁ¬½Ó³ÉÒ»¸öµÄÁ¬½Óָʾ×Ö£¬¿ÉÓÃÀ´¹¹Ôì²»»á±»½âÎöÆ÷´íÎó½âÊ͵ÄÃû×Ö¡£ ......

ÔÚEclipseÖпª·¢C/C++ÏîÄ¿ תÌû


C/C++ development with the Eclipse Platform
Pawel Leszek
 
ÕªÒª:ͨ¹ý±¾ÎÄÄ㽫»ñµÃÈçºÎÔÚEclipseƽ̨ÉÏ¿ª·¢C/C++ÏîÄ¿µÄ×ÜÌåÈÏʶ¡£ËäÈ»EclipseÖ÷Òª±»ÓÃÀ´¿ª·¢JavaÏîÄ¿£¬µ«ËüµÄ¿ò¼ÜʹµÃËüºÜÈÝÒ×ʵÏÖ¶ÔÆäËû¿ª·¢ÓïÑÔµÄÖ§³Ö¡£ÔÚÕâÆªÎÄÕÂÀÄ㽫ѧ»áÈçºÎʹÓÃCDT(C/C++ Development Toolkit)£¬Ò»¸öÔÚEclipseƽ̨ÉÏ×î ......

CÖÐÀ¨ºÅÓÅÏȼ¶µÄ˼¿¼

ÎÊÌâÔ´ÓÚÂÛ̳µÄÒ»µÀÌâÄ¿£º
http://topic.csdn.net/u/20100216/21/ec98464e-a47e-4263-bb1c-a001e130ba87.html
ÏÂÃæÊÇÎÊÌ⣺
Éèint arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf(£¢%d,%d£¢,*ptr,*(++ptr));
´ð°¸ÎªÊ²Ã´ÊÇ£º8£¬8
ÎÊÌâµÄ½¹µãÒ²ÂäÔÚprintfÖ´ÐеÄÎÊÌâÉÏ£¬µ½µ×ÏÈÖ´ÐÐË­£¬ºóÖ´ÐÐË­£¬ »¹Óв¿·Ö ......

Objective C 2.0 ÊôÐÔ(Property)

Ô­ÌûÒ»£ºhttp://blog.csdn.net/dotphoenix/archive/2009/05/20/4203075.aspx
Ô­Ìù¶þ£ºhttp://www.cocoachina.com/bbs/read.php?tid-8008.html
@property (²ÎÊý) ÀàÐÍ Ãû×Ö;
ÕâÀïµÄ²ÎÊýÖ÷Òª·ÖΪÈýÀࣺ¶ÁдÊôÐÔ£¨readwrite/readonly£©£¬setterÓïÒ⣨assign/retain/copy£©ÒÔ¼°atomicity£¨nonatomic£©¡£
assign/retain/copy ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ