Thứ Ba, 25 tháng 6, 2013

LẬP TRÌNH OBJECTIVE-C - part 1

Đặc điểm cơ bản của Objective-C.

- Là ngôn ngữ hướng đối tượng
- Mở rộng từ C
- Nhẹ nhàng (không VM - không quá thực tạp với friend virtuals với template với ....)
- Mềm dẻo (mở rộng từ C nên bạn có thể dùng C thuần cấu trúc ngoài ra đây là ngôn ngữ run-time)
- Reflection (có hỗ chợ)
- nil thay thế cho NULL trong C, bởi vì bạn có thể gửi thông điệp cho nil, nhưng không thể làm như vậy với NULL.
- BOOL có 2 giá trị là YES và NO chứ không phải là true và false nữa.
- Khái niệm methods và message đc sử dụng mang ý nghĩa như nhau đối với ObC theo đó message có những thuộc tính đặc biệt. Mọto message có thể chuyền động từ obj tới một obj khác. Việc gọi thông điệp trên một obj không có nghĩa là obj đó sẽ thực hiện message nó có thể chuyển tiếp tới một obj khác chưa biết trước tóm lại có khả năng đáp trả thông điệp không trực tiệp thì gián tiếp.

-          Biến trong C:
int   variable1   = 2;
float variable2   = 1.618;
char  variable3   = 'A';


float variable2  = 1.618;
variable2        = 3.921;
variable2        = 4.212;

Loại
Mô tả
Ví dụ
int
Số tự nhiên bao gồm cả số âm
0, 78, -1400
unsigned int
Số tự nhiên không âm
0, 46, 900
float
Số thập phân
0.0, 1.618, -1.4
char
Ký tự
'a', 'D', '?'

-          Toán tử
int someInteger = 42;
someInteger++; // someInteger == 43
someInteger--; // someInteger == 42
someInteger *= 2; // someInteger == 84

-          Chuỗi sdụng lớp NSString
NSString *firstString = [[NSString alloc] initWithCString:"Hello World!"
encoding:NSUTF8StringEncoding];
NSString *secondString = [NSString stringWithCString:"Hello World!"
encoding:NSUTF8StringEncoding];
NSString *thirdString = @"Hello World!";

-          Số sử dụng lớp NSNumber
NSNumber *magicNumber = [[NSNumber alloc] initWithInt:42];
NSNumber *unsignedNumber = [[NSNumber alloc] initWithUnsignedInt:42u];
NSNumber *longNumber = [[NSNumber alloc] initWithLong:42l];
NSNumber *boolNumber = [[NSNumber alloc] initWithBOOL:YES];
NSNumber *simpleFloat = [NSNumber numberWithFloat:3.14f];
NSNumber *betterDouble = [NSNumber numberWithDouble:3.1415926535];
NSNumber *someChar = [NSNumber numberWithChar:'T'];

Tương tự
NSNumber *magicNumber = @42;
NSNumber *unsignedNumber = @42u;
NSNumber *longNumber = @42l;
NSNumber *boolNumber = @YES;
NSNumber *simpleFloat = @3.14f;
NSNumber *betterDouble = @3.1415926535;
NSNumber *someChar = @'T';

-          Sdụng toán tử trong hàm
Toán tử
Phép toán
Mô tả
+
cộng
-
trừ
*
nhân
/
Chia
%
Chia hết

File XYZCalculator.h
@interface XYZCalculator : NSObject
@property double currentValue;
@end

File XYZCalculator.m
@implementation XYZCalculator
- (void)increment {
self.currentValue++;
}
- (void)decrement {
self.currentValue--;
}
- (void)multiplyBy:(double)factor {
self.currentValue *= factor;
}
@end

-          Định dạng chuỗi:
PHP :
$var1 = 3;
$var2 = 8;
print ("First value: $var1 second value: $var2");

Objective-C:
int var1 = 3;
int var2 = 8;
printf ("First value: %i second value: %i", var1, var2);
Bản định dạng
int
%i / %d
unsigned int
%u
float
%f
char
%c


Không có nhận xét nào:

Đăng nhận xét