Ngôn ngữ lập trình Objective – C

Một phần của tài liệu Xây dựng ứng dụng đọc tin tức trường Đại học sư phạm - Đại học Đà Nẵng trên nền tảng IOS. (Trang 24 - 29)

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.6 Ngôn ngữ lập trình Objective – C

Objective-C và Cocoa là hai thành phần quan trọng của nền tảng iOS. Mặc dù thực tế rằng các nền tảng iOS vẫn còn tương đối trẻ, Objective-C đã được tạo ra vào đầu những năm 1980 tại StepStone, Kentucky, Mỹ bởi 2 kỹ sư là Brad Cox và

Phan Hồng Minh - 11CNTT2 - 312023111131 Trang 14 Tom Love. Ngôn ngữ này được tạo ra trong sự nỗ lực nhằm tạo ra một ngôn ngữ mạnh và linh động từ sự kết hợp giữa 2 ngôn ngữ C và Smalltalk. Objective-C là ngôn ngữ lập trình được xây dựng dựa trên những nguyên tắc chặt chẽ của C. Tuy nhiên, trái ngược với C, nó là một ngôn ngữ lập trình cấp cao. Sự khác biệt ở đây chính là Objective-C là ngôn ngữ lập trình hướng đối tượng còn C là một ngôn ngữ lập trình hướng thủ tục.

Sau này, nó được bán cho NeXT, công ty này tạo ra NeXTSTEP, một bộ giao diện người dùng cho hệ điều hành NeXT và được phát triển hoàn toàn bằng Objective-C.

Năm 1996, Apple mua lại NeXT và NeXTSTEP được đổi tên thành Cocoa.

Sau này Cocoa trở thành thành phần chủ đạo của HĐH Mac OS X ra đời vào 03/2001.

Phiên bản CocoaTouch framework là phiên bản rút gọn của Cocoa framework để phù hợp cho các thiết bị di động.

1.6.2 Các đặc điểm của Objective-C – Là ngôn ngữ hướng đối tượng.

– Mở rộng từ C, nên có thể dùng C thuần cấu trúc.

– nil thay thế cho NULL.

– BOOL có giá trị là YES hoặc NO thay vì true hay false.

1.6.3 Một số từ khoá thông dụng

1. Các từ khoá để khai báo, định nghĩa các classes, categories, protocols:

– @interface: sử dụng để khai báo lớp.

– @implementation: dùng để định nghĩa một class hay một category.

– @protocol: sử dụng để khai báo một thủ tục hình thức (formal protocol).

– @end: kết thúc khai báo, định nghĩa category hoặc protocol.

2. Các từ khoá được sử dụng để xác định khả năng truy cập các thực thể

– @private: giới hạn phạm vi truy cập của một biến thực thể chỉ trong lớp mà nó khai báo.

– @protected: giới hạn phạm vi truy cập một biến thực thể trong lớp khai báo nó và các lớp khác kế thừa lớp này.

Phan Hồng Minh - 11CNTT2 - 312023111131 Trang 15 – @public: không giới hạn phạm vi truy cập của biến này

– Mặc định sẽ là @protected.

3. Các từ khoá liên quan đến việc xử lý ngoại lệ

– @try: Định nghĩa một khối mã lệnh mà trong khối này có thể phát sinh ngoại lệ.

– @throw: Tung ra một ngoại lệ.

– @catch: Bắt (khối lệnh được thực thi nếu ngoại lệ phát sinh) ngoại lệ bên trong khối mã lệnh @try ngay trước nó.

– @finally: Một khối mã lệnh sẽ được thực thi không cần biết có ngoại lệ xảy ra trong @try hay không.

4. Các từ khoá sử dụng cho từng mục đích cụ thể

– @class: khai báo tên của một lớp được định nghĩa ở đâu đó.

– @selector(method_name): trả về selector đã được biên dịch xác định phương thức có tên là tham số trong dấu ngoặc.

– @protocol(protocol_name): trả về protocol (thực thể của một Protocol class) có tên trong dấu ngoặc. @protocol (không có tham số) cũng hợp lệ khi khai báo chuyển tiếp(forward declarations).

– @encode(type_spec): cho ta chuỗi đã được encode của tham số type_spec – @”string”: Định nghĩa một hằng chuỗi NSString object và khởi tạo chuỗi

với 7-bit chuẩn ASCII-encoded.

– @”string1″ @”string2″ …@”stringN”: Định nghĩa một hằng chuỗi NSString object. Chuỗi được tạo ra là kết quả của việc nối các chuỗi xác định trong các từ khoá.

– @synchronized(): Định nghĩa một khối mã lệnh mà chỉ được chạy (execute) bằng một thread tại mỗi thời điểm.

5. Một số từ khoá khác

– bool là từ khóa trong objective-C nhưng giá trị của nó ở đây là YES hoặc NO. Trong C và C++ nó có giá trị là TRUE hoặc FALSE.

Phan Hồng Minh - 11CNTT2 - 312023111131 Trang 16 – ‘super’ và ‘self’ có thể gọi là từ khóa, nhưng self là một đối số ẩn của của

mỗi phương thức và super chỉ dẫn cho trình biên dịch cách sử dụng mỗi từ khóa self khác nhau.

1.6.4 Ngôn ngữ lập trình Objective-C 1. Khai báo một lớp

Lớp (class) trong objective-c được định nghĩa thành 2 phần tương tự như C/C++. Một file *.h dùng để khai báo trước các biến, phương thức, file*.m sử dụng định nghĩa phần thực thi các thành phần biến, phương thức đã được định nghĩa trong file*.h.

Tên của một lớp được bắt đầu môi chữ bằng ký tự hoa, ví dụ như: MyClass.h, ViewController.h …

Hình 1.6. Cấu trúc của 1 lớp

Hình 1.7. Cách truy xuất các biến của lớp, thuộc tính, phương thức

Phan Hồng Minh - 11CNTT2 - 312023111131 Trang 17 2. Cách khai báo một phương thức

– Phương thức không có tham số truyền vào -/+(return_type)method;

– Phương thức có 1 tham số

-/+(return_type)methodPara1 : (type)param1;

– Phương thức có nhiều tham số

-/+(return_type)methodPara1 : (type)param1 andParam2 : (type)param2;

– Cách sử dụng phương thức của thể hiện [object method];

[object methodPara1: param1];

[object methodPara1: param1 andParam2:param2];

– Cách sử dụng phương thức của lớp [class method];

[class methodParam1:param1];

[class methodPram1:param1 andParam2:param2];

3. Câu lệnh điều kiện if(<condition-1>){

// statement if condition-1 true }

else if(<condition-2>){

//statement if condition-2 true }

… else{

//statement if condition-1 and condition-2 and … false }

4. Câu lệnh lặp

Vòng lặp for

for(<initalization>;<condition>;<increment>){

// statements

Phan Hồng Minh - 11CNTT2 - 312023111131 Trang 18 }

for( <type * obj> in <collection>){

//statements }

Do-While và While do{

//statements }while(<condition>);

while(<condition>){

//statements }

5. Câu lệnh rẽ nhánh

switch(<expression>){

case (<constance>):{

//statements }

break;

… default{

//statements }

break;

}

Một phần của tài liệu Xây dựng ứng dụng đọc tin tức trường Đại học sư phạm - Đại học Đà Nẵng trên nền tảng IOS. (Trang 24 - 29)

Tải bản đầy đủ (PDF)

(69 trang)