ÔÌûÒ»£º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¾ö¶¨ÁËÒÔºÎÖÖ·½Ê½¶ÔÊý¾Ý³ÉÔ±¸³ÓèÐÂÖµ¡£ÎÒÃÇÔÚÉùÃ÷summary properyʱʹÓÃÁËreadonly£¬ËµÃ÷¿Í»§¶ËÖ»ÄܶԸÃproperty½øÐжÁÈ¡¡£atomicityµÄĬÈÏÖµÊÇatomic£¬¶ÁÈ¡º¯ÊýΪÔ×Ó²Ù×÷¡£
ÔÚobjective c 2.0Ï£¬ÓÉÓÚÎÒÃÇÉùÃ÷ÁËproperty£¬implementationÎļþ¿ÉÒÔ¸ü¸ÄÈçÏ£º
¿ÉÒÔ¿´µ½Êý¾Ý³ÉÔ±titleºÍnumofpagesµÄ¶Áдº¯ÊýÒѾ²»¸´´æÔÚ£¬È¡¶ø´úÖ®µÄÊÇÁ½ÐÐ@synthesize£¬
¼ûÏÂÁÐʾÀý´úÂ룺
//test.h
@interface MyTest : NSObject {
int myArray[5];
}
@end
Èç¹û²ÉÓÃ
@property int myArray[5];
¿Ï¶¨»á³ö´í¡£
ÒòΪ@propertyµÄÉùÃ÷ָʾ±àÒëÆ÷ĬÈϵظømyArrayÌí¼ÓÁËmyArrayÒÔ¼°setMyArrayµÄÕâÑùÒ»¶ÔgetterºÍsetter·½·¨¡£ÓÉÓÚobjective-CÖз½·¨µÄ·µ»ØÀàÐͲ»ÄÜÊÇÊý×飬ËùÒÔÉÏÊöÉùÃ÷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
......
Ò»¸ö¿ØÖÆÌ¨ÏµÄÊý×Ö±í´ïʽÇóÖµ³ÌÐò (c/c++)
Ô´´úÂë¼ûÏ£º
#include <stdio.h>
#include <string>
#include <iostream>
#include <stdlib.h>
#include <vector>
#include <stack>
using namespace std;
//ÉèÖÃÔËËã·ûÓÅÏȼ¶µÄËã·¨
int Priority(const string opera) // ÔËËã·ûÓÅÏȼ¶
{
if(opera=="+"||opera=="-")
{
return (1);
}
else if(opera=="*"||opera=="/")
{
return (2);
}
else
{
return (0);
}
}
void MiddlefixToPostfix(vector<string> &ivec1,vector<string> &ivec2)
//ÖÐ׺±í´ïʽµ½ºó׺±í´ïʽµÄת»»Ëã·¨,ivec2Öдæ·ÅµÄÊÇÖÐ׺±í´ïʽ£¬½«Æäת»»Îªºó׺±í´ïʽÐÎʽ´æ·Åµ½ivec2ÖС£
{
//¶¨ÒåÒ»¸ö´æ·Å²Ù×÷·ûµÄÕ»¶ÔÏó¡£
stack<string> operatorstk;
for(vector<string>::size_type i=0;i!=ivec2.size();++i)
{
if(ivec2[i]=="(")
{
&nb ......
Ò»¸ö¿ØÖÆÌ¨ÏµÄÊý×Ö±í´ïʽÇóÖµ³ÌÐò (c/c++)
Ô´´úÂë¼ûÏ£º
#include <stdio.h>
#include <string>
#include <iostream>
#include <stdlib.h>
#include <vector>
#include <stack>
using namespace std;
//ÉèÖÃÔËËã·ûÓÅÏȼ¶µÄËã·¨
int Priority(const string opera) // ÔËËã·ûÓÅÏȼ¶
{
if(opera=="+"||opera=="-")
{
return (1);
}
else if(opera=="*"||opera=="/")
{
return (2);
}
else
{
return (0);
}
}
void MiddlefixToPostfix(vector<string> &ivec1,vector<string> &ivec2)
//ÖÐ׺±í´ïʽµ½ºó׺±í´ïʽµÄת»»Ëã·¨,ivec2Öдæ·ÅµÄÊÇÖÐ׺±í´ïʽ£¬½«Æäת»»Îªºó׺±í´ïʽÐÎʽ´æ·Åµ½ivec2ÖС£
{
//¶¨ÒåÒ»¸ö´æ·Å²Ù×÷·ûµÄÕ»¶ÔÏó¡£
stack<string> operatorstk;
for(vector<string>::size_type i=0;i!=ivec2.size();++i)
{
if(ivec2[i]=="(")
{
&nb ......
×ÜÊDZ»Í¬Ñ§ÃÇÎʵ½£¬ÈçºÎѧϰCºÍC++²Å²»Ã£È»£¬²Å²»ÊÇÂÒѧ£¬ÏëÁËһϣ¬ÕâÀï¸ø³öÒ»¸ö×ܵĻظ´¡£
¡¡¡¡Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
¡¡¡¡C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
¡¡¡¡±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
¡¡¡¡Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
¡¡¡¡2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
¡¡¡¡ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
¡¡¡¡Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½ ......
×ÜÊDZ»Í¬Ñ§ÃÇÎʵ½£¬ÈçºÎѧϰCºÍC++²Å²»Ã£È»£¬²Å²»ÊÇÂÒѧ£¬ÏëÁËһϣ¬ÕâÀï¸ø³öÒ»¸ö×ܵĻظ´¡£
¡¡¡¡Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
¡¡¡¡C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
¡¡¡¡±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
¡¡¡¡Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
¡¡¡¡2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
¡¡¡¡ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
¡¡¡¡Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½ ......
ÕâÊÇÒ»¸öÓÃJAVA W3C DOM ½øÐÐXML²Ù×÷µÄÀý×Ó£¬°üº¬Á˲éѯ¡¢Ôö¼Ó¡¢Ð޸ġ¢É¾³ý¡¢±£´æµÄ»ù±¾²Ù×÷¡£½ÏÍêÕûµÄÃèÊöÁËÒ»¸öXMLµÄÕû¸ö²Ù×÷Á÷³Ì¡£ÊʺϸÕÈëÃÅJAVA XML²Ù×÷µÄÅóÓѲο¼ºÍѧϰ¡£
¼ÙÉèÓÐXMLÎļþ£ºtest1.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<name>¹þÀï²¨ÌØ</name>
<price>10</price>
<memo>ÕâÊÇÒ»±¾ºÜºÃ¿´µÄÊé¡£</memo>
</book>
<book id="B02">
<name>Èý¹úÑÝÒå</name>
<price>10</price>
<memo>ËÄ´óÃûÖøÖ®Ò»¡£</memo>
</book>
<book id="B03">
<name>Ë®ä°</name>
<price>6</price>
<memo>ËÄ´óÃûÖøÖ®Ò»¡£</memo>
</book>
<book id="B04">
<name>ºìÂ¥</name>
<price>5</price>
<memo>ËÄ´óÃûÖøÖ®Ò»¡£</memo>
</book>
</books>
ÏÂÃæÊÇΪTest.java
impor ......
ÕâÊÇÒ»¸öÓÃJAVA W3C DOM ½øÐÐXML²Ù×÷µÄÀý×Ó£¬°üº¬Á˲éѯ¡¢Ôö¼Ó¡¢Ð޸ġ¢É¾³ý¡¢±£´æµÄ»ù±¾²Ù×÷¡£½ÏÍêÕûµÄÃèÊöÁËÒ»¸öXMLµÄÕû¸ö²Ù×÷Á÷³Ì¡£ÊʺϸÕÈëÃÅJAVA XML²Ù×÷µÄÅóÓѲο¼ºÍѧϰ¡£
¼ÙÉèÓÐXMLÎļþ£ºtest1.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<name>¹þÀï²¨ÌØ</name>
<price>10</price>
<memo>ÕâÊÇÒ»±¾ºÜºÃ¿´µÄÊé¡£</memo>
</book>
<book id="B02">
<name>Èý¹úÑÝÒå</name>
<price>10</price>
<memo>ËÄ´óÃûÖøÖ®Ò»¡£</memo>
</book>
<book id="B03">
<name>Ë®ä°</name>
<price>6</price>
<memo>ËÄ´óÃûÖøÖ®Ò»¡£</memo>
</book>
<book id="B04">
<name>ºìÂ¥</name>
<price>5</price>
<memo>ËÄ´óÃûÖøÖ®Ò»¡£</memo>
</book>
</books>
ÏÂÃæÊÇΪTest.java
impor ......
ÕâÊÇÒ»¸öÓÃJAVA W3C DOM ½øÐÐXML²Ù×÷µÄÀý×Ó£¬°üº¬Á˲éѯ¡¢Ôö¼Ó¡¢Ð޸ġ¢É¾³ý¡¢±£´æµÄ»ù±¾²Ù×÷¡£½ÏÍêÕûµÄÃèÊöÁËÒ»¸öXMLµÄÕû¸ö²Ù×÷Á÷³Ì¡£ÊʺϸÕÈëÃÅJAVA XML²Ù×÷µÄÅóÓѲο¼ºÍѧϰ¡£
¼ÙÉèÓÐXMLÎļþ£ºtest1.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<name>¹þÀï²¨ÌØ</name>
<price>10</price>
<memo>ÕâÊÇÒ»±¾ºÜºÃ¿´µÄÊé¡£</memo>
</book>
<book id="B02">
<name>Èý¹úÑÝÒå</name>
<price>10</price>
<memo>ËÄ´óÃûÖøÖ®Ò»¡£</memo>
</book>
<book id="B03">
<name>Ë®ä°</name>
<price>6</price>
<memo>ËÄ´óÃûÖøÖ®Ò»¡£</memo>
</book>
<book id="B04">
<name>ºìÂ¥</name>
<price>5</price>
<memo>ËÄ´óÃûÖøÖ®Ò»¡£</memo>
</book>
</books>
ÏÂÃæÊÇΪTest.java
impor ......
1 ±à³Ì»ù´¡
1.1 »ù±¾¸ÅÄî
1. µÄÀí½â£ºconst char*, char const*, char*constµÄÇø±ðÎÊÌ⼸ºõÊÇC++ÃæÊÔÖÐÿ´Î ¶¼»áÓеÄÌâÄ¿¡£ ÊÂʵÉÏÕâ¸ö¸ÅÄî˶¼ÓÐÖ»ÊÇÈýÖÖÉùÃ÷·½Ê½·Ç³£ÏàËÆºÜÈÝÒ׼ǻ졣 BjarneÔÚËûµÄThe C++ Programming LanguageÀïÃæ¸ø³ö¹ýÒ»¸öÖú¼ÇµÄ·½·¨£º °ÑÒ»¸öÉùÃ÷´ÓÓÒÏò×ó¶Á¡£ const
char * const cp; ( * ¶Á³É pointer to )
cp is a const pointer to char
const char * p;
p is a pointer to const char;
char const * p;
ͬÉÏÒòΪC++ÀïÃæÃ»ÓÐconst*µÄÔËËã·û£¬ËùÒÔconstÖ»ÄÜÊôÓÚÇ°ÃæµÄÀàÐÍ¡£
2. Ö¸Õëc
int *p[n];-----Ö¸ÕëÊý×飬ÿ¸öÔªËØ¾ùΪָÏòÕûÐÍÊý¾ÝµÄÖ¸Õë¡£
int (*)p[n];------pΪָÏòһάÊý×éµÄÖ¸Õ룬Õâ¸öһάÊý×éÓÐn¸öÕûÐÍÊý¾Ý¡£
int *p();----------º¯Êý´ø»ØÖ¸Õ룬ָÕëÖ¸Ïò·µ»ØµÄÖµ¡£
int (*)p();------pΪָÏòº¯ÊýµÄÖ¸Õë¡£
3. Êý×éÔ½½çÎÊÌâ
ÏÂÃæÕâ¸ö³ÌÐòÖ´Ðкó»áÓÐʲô´íÎó»òÕßЧ¹û:
#de ......
1 ±à³Ì»ù´¡
1.1 »ù±¾¸ÅÄî
1. µÄÀí½â£ºconst char*, char const*, char*constµÄÇø±ðÎÊÌ⼸ºõÊÇC++ÃæÊÔÖÐÿ´Î ¶¼»áÓеÄÌâÄ¿¡£ ÊÂʵÉÏÕâ¸ö¸ÅÄî˶¼ÓÐÖ»ÊÇÈýÖÖÉùÃ÷·½Ê½·Ç³£ÏàËÆºÜÈÝÒ׼ǻ졣 BjarneÔÚËûµÄThe C++ Programming LanguageÀïÃæ¸ø³ö¹ýÒ»¸öÖú¼ÇµÄ·½·¨£º °ÑÒ»¸öÉùÃ÷´ÓÓÒÏò×ó¶Á¡£ const
char * const cp; ( * ¶Á³É pointer to )
cp is a const pointer to char
const char * p;
p is a pointer to const char;
char const * p;
ͬÉÏÒòΪC++ÀïÃæÃ»ÓÐconst*µÄÔËËã·û£¬ËùÒÔconstÖ»ÄÜÊôÓÚÇ°ÃæµÄÀàÐÍ¡£
2. Ö¸Õëc
int *p[n];-----Ö¸ÕëÊý×飬ÿ¸öÔªËØ¾ùΪָÏòÕûÐÍÊý¾ÝµÄÖ¸Õë¡£
int (*)p[n];------pΪָÏòһάÊý×éµÄÖ¸Õ룬Õâ¸öһάÊý×éÓÐn¸öÕûÐÍÊý¾Ý¡£
int *p();----------º¯Êý´ø»ØÖ¸Õ룬ָÕëÖ¸Ïò·µ»ØµÄÖµ¡£
int (*)p();------pΪָÏòº¯ÊýµÄÖ¸Õë¡£
3. Êý×éÔ½½çÎÊÌâ
ÏÂÃæÕâ¸ö³ÌÐòÖ´Ðкó»áÓÐʲô´íÎó»òÕßЧ¹û:
#de ......