Khởi động lập trình Object C

B. Lập trình khởi động:

Lập trình IOs rất khó, không phải vì bản thân nó khó mà vì cách mà Apple làm nó khó. Hầu hết các ngôn ngữ đều có những biến chung (int, String), cách vận hành chung (. để gọi các thuộc tính) trong khi ngôn ngữ của Apple lại có các sử dụng hoàn toàn khác. Đây chính là khẩu hiệu của Apple “Think Different” (Nghĩ khác).

Làm quen với C Object:

I. Những khác biệt giữa C và Object C:

1. Những khác biệt căn bản:
a. Các khác biệt:
Mặc dù cũng là ngôn ngữ C nhưng C Object có cấu trúc hoàn toàn khác so với C/C++. Là một lập trình C# hơn một năm trời, nhưng khi nhìn vào C Object của Apple, tôi hoàn toàn chả hiểu cái gì về nó. Nó giống như việc đang sử dụng tiếng Việt, tiếng Anh (cùng dùng chữ Latin) mà lần đầu tiên nhìn thấy chữ Hán, tiếng Nhật (chữ tượng hình).

Đối với Việt Nam, ít nhật chúng ta đã dùng chữ Hán-Việt (chữ Trung Quốc được dịch theo chữ Nôm) còn đỡ, mấy thằng Tây nhìn vào là không hiểu gì luôn.

Nhưng dần dần cũng khám phá ra rằng C Object chỉ thay đổi về cấu trúc của nó chứ hoàn toàn có những lệnh giống nhau như sau:

C/C ++

Objective-C

#include “library.h” #import “library.h”
this self
private: @private
protected: @protected
public: @public
Y = new MyClass() Y = [[MyClass alloc] init];
try, throw, catch, finally @try, @throw, @catch , @finally

Tất cả những class trong Object-C đều có chung cấu trúc (Struct “id”)

– @systhesizel là một dạng viết tắt trong Object-C cho phép tạo hàm Getter/Setter mà không phải tự đánh vào. Tuy nhiên sau phiên bản Xcode 4.3 thì dòng này là dư thừa vì Xcode 4.3 tự động thêm ẩn vào khi chương trình chạy với cấu trúc (tên => _tên), bạn không cần phải @synthesize trong file .m nữa.
– IB là viết tắt của Interface Builder dành riêng cho những trình điều khiển dành riêng cho interface (Controller)

b. Các phương thức làm việc trong Xcode:
– Muốn cho một controller được kết nối (delegate) với một hàm (function) trong Xcode, giữ phím control để kéo vào trong Action muốn được liên kết

2. Cách gọi hàm:
– Cách gọi hàm trong Object C rất giống với C#/C++ tuy nhiên cách viết của nó khác tạo nên cảm giác chúng ta không thể hiểu nổi nhưng nếu xem kỹ lại và quen thuộc với nó thì cúng chả có gì khác (Sao không để quách nó giống nhau đỡ cho tôi phải mất thời gian nghiên cứu không):
+ Trong C++/C#, method được sử dụng như sau:
myObject.SomeMethod();
+ Trong Object , method nó thành:
[myObject SomeMethod]

– Trong trường hợp có Parameter:
+ Trong C++/C#, method được sử dụng như sau:
myObject.SomeMethod(20);
+ Trong Object , method nó thành:
[myObject SomeMethod:20]

– Trong trường hợp có nhiều Parameter:
+ Trong C++/C#, method được sử dụng như sau:
myObject.SomeMethod(20, 40);
+ Trong Object , method nó thành:
[myObject SomeMethod:20: 40]

– Gọi hàm theo nhiều lớp:
+ Trong C++/C#, chúng được sử dụng như sau:
myObject.SomeMethod().OtherMeThod();
+ Trong Object , nó trở thành:
[[myObject SomeMethod] OtherMethod];

3. Kết luận:

Bạn sẽ thấy cách gọi hàm của của Object C dài hơn, khác biệt với những ng6n ngữ khác nhưng nó có dụng ý riêng. Các gọi hàm của Object C có khác biệt so với cách gọi hàm bình thường tuy nhiên nếu đã dùng quen thì bạn sẽ thấy nó rất tuyệt bởi vì IDE Xcode hỗ trợ cực tốt cho việc lập trình với cấu trúc đó.

Tagged: , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: