Thứ tư, ngày 7 tháng 12 năm 2016

Cơ bản về Objective-C P1

Ngày đăng: 27/10/2012, 10:9:5PM | Lượt xem: 3,812
Hot!

 Ngôn ngữ lập trình Objective-C là một ngôn ngữ lập trình hướng đối tượng được xây dựng chủ yếu dựa trên nền tảng ANSI C, và ngoài ra nó còn được mở rộng từ Smalltalk, một trong những ngôn ngữ lập trình hướng đối tượng đầu tiên. Objective-C được thiết kế với mục đích đưa vào C các tính năng hướng đối tượng một các đơn giản và dễ hiểu nhấ

 Objective-C là ngôn ngữ chính được Apple chọn để viết các ứng dụng cho hệ điều hành MAC, iPod và iPhone. 

Như vậy, để nắm được Objective-C bạn phải có kinh nghiệm về ngôn ngữ C. Nếu bạn có kiến thức tốt về C thì bạn có thể nắm nhanh Objective-C và có thể bắt đầu phát triển các ứng dụng cho iPhone và hệ điều hành MAC. Nếu không, bạn nên dành thời gian tìm hiểu thêm về ngôn ngữ C trước khi tìm hiểu Objective-C. 

1. Cơ bản về Objective-C 

1.1. Từ khóa 

1.1.1. Khai báo class, category và protocol 

@interface: khai báo class hoặc interface.
@implementation: định nghĩa class hoặc category.
@Protocol: khai báo protocol
@end: kết thúc trong việc khai báo, định nghĩa category hoặc protocol.
@Private: giới hạn phạm vi trong lớp mà biến thể hiện được khai báo.
@protected: giới hạn phạm vi trong lớp và lớp con kế thừa mà biến thể hiện được khai báo.
@public: không giới hạn phạm vi truy xuất.
Mặc định là @protected

@try
@throw
@catch
@finally
@class: khai báo trước một tên lớp đã được định nghĩa ở một nơi khác.
@selector(method_name): trả về một selector đã được biên dịch mà được định nghĩa thông qua method_name.
@Protocol(protocol_name): trả về một protocol protocol_name (một thể hiện của một lớp Protocol). @Protocol là hợp lệ (không có protocol_name) trong trường hợp khai báo trước
@synchronized: định nghĩa một block mã nguồn trong nó phải được thực hiện đồng bộ
#import: dùng để include một file, tương tự include trong C, C++. 

1.1.2. Một số từ khóa khác 

alloc, retain, release, autorelease, in, out, inout, by,copy, byref, onewa,y super, self. 

1.2. Câu lệnh trong Objective-C

Các câu lệnh điều khiển if, switch và các câu lệnh lặp for, while… tương tự như C/C++ hoặc Java 

Các câu lệnh rẽ nhánh: 

if (<condition>) { 

<statements> 

} else if (<condition>) { 

<statements> 

} else { 

<statements> 



switch (<expression>) { 

case <constant>: 

<statements> 

break; 

default: 

break; 



Các câu lệnh lặp: 

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

<statements> 



while (<condition>) { 

<statements> 



do { 

<statements> 

} while (<condition>) 

1.3. Đối tượng


Một chương trình hướng đối tượng được xây dựng từ các đối tượng. Mỗi đối tượng bao gồm dữ liệu và các phương thức để sử dụng hoặc tương tác trên các dữ liệu đó. 

Objective-C cho phép định danh một đối tượng mà không cần phải chỉ ra một lớp cụ thể của đối tượng đó, điều này cho phép định kiểu động. 

Trong chương trình thì ta phải luôn đảm bảo rằng ta phải luôn xử lý các đối tượng không còn cần thiết nữa. 

1.3.1. Id
Trong Objective-C, định danh đối tượng là một kiểu dữ liệu khác biệt: id. Kiểu này được định nghĩa như là một con trỏ trỏ đến một đối tượng, trong thực tế, một con trỏ trỏ đến các biến thể hiện của một đối tượng, với dữ liệu duy nhất. Giống như hàm hoặc mảng trong C, một đối tượng được định danh bởi một địa chỉ. Tất cả các đối tượng, bất kể là biến thể hiện hay phương thức, đều có kiểu là id. 

id anObject; 

1.3.2. Định kiểu động
Kiểu id là một kiểu hoàn toàn không hạn chế. Bản thân nó không mang thông tin về một đối tượng, ngoài trừ nó là một đối tượng. 

Nhưng các đối tượng lại không giống nhau. Tại một vài thời điểm, chương trình cần biết rõ các thông tin đặc tả của một đối tượng, các biến thể hiện mà nó chứa, các hàm mà nó có thể thực hiện, kiểu id khi được thiết kế ra không hỗ trợ được điều này. 

Để hỗ trợ điều này, mỗi đối tượng được thiết kế mang trong nó một biến thể hiện isa với mục đích định danh lớp của đối tượng, cho biết đối tượng đó thuộc loại nào. Nhưng vậy tại mỗi thời điểm runtime, đối tượng là các kiểu động. Bất cứ lúc nào cần, hệ thống runtime có thể biết chính xác lớp mà đối tượng đó thuộc về, bằng cách hỏi ngay đối tượng đó. 

Con trở isa cho phép các đối tượng tìm các thông tin về bản thân chúng. Trình biên dịch ghi nhận các thông tin về định nghĩa lớp vào các cấu trúc dữ liệu để hệ thống runtime sử dụng. Các hàm của hệ thống runtime sử dụng isa để tìm ra các thông tin này tại thời điểm runtime. 

1.3.3. Bộ nhớ

Trong lập trình Objective-C, một điều quan trọng là phải giải phóng các đối tượng không còn sử dụng, nếu không bộ nhớ sẽ tràn. Và một điều quan trọng không kém đó là không được giải phóng đối tượng khi nó đang được sử dụng.

Theo mobipro
 Chia sẻ qua: 
Hot!
Ý kiến bạn đọc

These items will be permanently deleted and cannot be recovered. Are you sure?

Gallery

image

Maecenas viverra rutrum pulvinar

Maecenas viverra rutrum pulvinar! Aenean vehicula nulla sit amet metus aliquam et malesuada risus aliquet. Vestibulum rhoncus, dolor sit amet venenatis porta, metus purus sagittis nisl, sodales volutpat elit lorem…

Read more

Text Links

Thiết kế logo chuyên nghiệp Insky
DAFABET
W88 w88b.com/dang-ky-tai-khoan-w88
W88
Copyright © 2011 - 2012 vietshare.vn by phamkhuong102@gmail.com doanhkisi2315@gmail.com. All rights reserved.