آبجکتیو-سی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
AvicBot (بحث | مشارکت‌ها)
جز r2.6.5) (ربات: افزودن he:Objective-C
YasBot (بحث | مشارکت‌ها)
جز ربات ردهٔ همسنگ (۲۲) +مرتب(۲.۷): + رده:نکست
خط ۱:
آبجکتیو-سی {{انگلیسی|Objective-C}} یک [[برنامه‌نویسی شیءگرا|زبان شی‌گرا]] است که با اضافه کردن مفاهیم ارسال پیام از [[زبان اسمال‌تاک]] به [[زبان سی]] ایجاد شده‌شده. در حال حاضر استفادهٔ اصلی آن در محیط‌های Mac OS X و iPhone OS است.
 
برنامه‌هایی از این زبان که از کتابخانه‌های خاص این محیط‌ها استفاده نکرده باشند در همهٔ محیط‌هایی که کامپایلر جی‌سی‌سی (GCC) استفاده می‌شود، قابل استفاده‌اند.
خط ۵۸:
+(return_type)classMethod2;
+(return_type)classMethod3:(param1_type)parameter_varName;
 
-(return_type)instanceMethod1:(param1_type)param1_varName :(param2_type)param2_varName;
-(return_type)instanceMethod2WithParameter:(param1_type)param1_varName andOtherParameter:(param2_type)param2_varName;
خط ۷۵:
static return_type classMethod2();
static return_type classMethod3(param1_type parameter_varName);
 
// Instance (member) functions
return_type instanceMethod1(param1_type param1_varName, param2_type param2_varName);
خط ۲۰۶:
 
== تفاوت‌های اساسی با سی++ ==
 
* سی++ شامل کتابخانه‌ها و استانداردهایی برای برنامه‌سازی شی‌گرا، برنامه‌سازی عمومی است. در حالی که آبجکتیو-سی تنها یک لایه برای برنامه‌سازی شی‌گرا به زبان سی اضافه می‌کند.
 
* آبجکتیو-سی امکانات reflection برای برنامه‌نویس به وجود می‌آورد که در زمان اجرا آدرس بعضی توابع معلوم می‌گردد حال آن‌که در سی++ امکانات reflection وجود ندارد. یعنی آبجکتیو-سی از سی++ امور بیشتری را در زمان اجرا تعیین می‌کند که باعث انعطاف بیشتر زبان می‌شود ولی سرعت اجرای آن را کاهش می‌دهد.
 
سطر ۲۲۴ ⟵ ۲۲۲:
 
مثال اول، صورت ساختاری
 
 
<source lang="objc">
 
#import <stdio.h>
 
سطر ۲۴۰ ⟵ ۲۳۶:
 
مثال دوم، صورت شی‌گرا
 
 
 
<source lang="objc">
 
#import "objc/Object.h"
 
سطر ۲۸۶ ⟵ ۲۷۹:
 
@end
 
 
int main(int argc, char**argv) {
سطر ۲۹۷ ⟵ ۲۸۹:
return 0;
}
 
 
</source>
 
 
== منابع ==
{{پانویس}}
 
Cox, Brad J. (1991). Object Oriented Programming: An Evolutionary Approach. Addison Wesley. ISBN 0-201-54834-8
سطر ۳۱۱ ⟵ ۳۰۲:
 
http://objc.toodarkpark.net بازیابی در 2009-06-7.
 
 
{{زبان‌های برنامه‌نویسی}}
سطر ۳۱۸ ⟵ ۳۰۸:
[[رده:زبان‌های برنامه‌نویسی خانواده سی]]
[[رده:زبان‌های برنامه‌نویسی شیءگرا]]
[[رده:نکست]]
 
[[ar:سي-الكائنية]]