Objective-C হল C প্রোগ্রামিং ভাষার উপর ভিত্তি করে একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা, যা মূলত macOS এবং iOS অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহৃত হয়। এটি Apple এর ইকোসিস্টেমে বেশ গুরুত্বপূর্ণ ভূমিকা পালন করেছে এবং এখনও বহু ডেভেলপারদের জন্য প্রয়োজনীয় একটি ভাষা।
Objective-C হল একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা যা C এর উপর ভিত্তি করে তৈরি হয়েছে। এটি মূলত macOS এবং iOS অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য ব্যবহৃত হয়। এই গাইডে আমরা Objective-C এর সূচনা থেকে শুরু করে এর ইতিহাস, বৈশিষ্ট্য, ব্যবহারের কারণ, প্রয়োজনীয়তা, ভাষার মৌলিক ধারণা উদাহরণসহ, মেমরি ম্যানেজমেন্ট, প্রোটোকল এবং ডেলিগেট, ক্যাটাগরি এবং এক্সটেনশন, প্রয়োজনীয় টুলস এবং ফ্রেমওয়ার্ক, ভবিষ্যৎ চ্যালেঞ্জ, অন্যান্য প্রোগ্রামিং ভাষার সাথে পার্থক্য, অতিরিক্ত সম্পদ এবং গুরুত্বপূর্ণ কিওয়ার্ডগুলি আলোচনা করব।
Objective-C তৈরি করেছিলেন Brad Cox এবং Tom Love ১৯৮০-এর দশকে। এটি C এর সাথে Smalltalk এর অবজেক্ট-ওরিয়েন্টেড ধারণাগুলির মিশ্রণ। ১৯৮৮ সালে NeXT কোম্পানি Objective-C কে তাদের NeXTSTEP অপারেটিং সিস্টেমের জন্য ব্যবহার করে, যা পরে Apple দ্বারা গ্রহণ করা হয়। এটি macOS এবং iOS ডেভেলপমেন্টের মূল ভাষা হয়ে ওঠে।
Objective-C এর সিনট্যাক্স C এর উপর ভিত্তি করে, তবে মেসেজ পাসিংয়ের জন্য Smalltalk-এর স্টাইল ব্যবহার করে।
int count = 10;
float price = 99.99;
NSString *message = @"স্বাগতম";
[object method];
[object methodWithParameter:param];
@interface Person : NSObject
@property (nonatomic, strong) NSString *name;
- (void)displayName;
@end
@implementation Person
- (void)displayName {
NSLog(@"Name: %@", self.name);
}
@end
Person *person = [[Person alloc] init];
person.name = @"রহিম";
[person displayName];
int, float, double, char, BOOLNSString, NSArray, NSDictionary, NSNumberObjective-C তে মেমরি ম্যানেজমেন্টের জন্য ARC ব্যবহার করা হয়, যা স্বয়ংক্রিয়ভাবে অবজেক্টের লাইফসাইকেল পরিচালনা করে।
nil হয়ে যায়।প্রোটোকলগুলি এমন একটি ইন্টারফেস যা ক্লাসগুলি গ্রহণ করতে পারে।
@protocol MyProtocol
@required
- (void)requiredMethod;
@optional
- (void)optionalMethod;
@end
ডেলিগেট প্যাটার্ন ব্যবহারে এক অবজেক্ট অন্য অবজেক্টের ইভেন্ট হ্যান্ডল করতে পারে।
@interface MyClass : NSObject
@end
ক্যাটাগরি ব্যবহার করে বিদ্যমান ক্লাসে নতুন মেথড যোগ করা যায়।
@interface NSString (ReverseString)
- (NSString *)reverseString;
@end
@implementation NSString (ReverseString)
- (NSString *)reverseString {
NSUInteger length = [self length];
NSMutableString *reversedString = [NSMutableString stringWithCapacity:length];
while (length > 0) {
[reversedString appendString:[NSString stringWithFormat:@"%C", [self characterAtIndex:--length]]];
}
return reversedString;
}
@end
এক্সটেনশন ব্যবহার করে প্রাইভেট মেথড এবং প্রোপার্টি ডিক্লেয়ার করা যায়।
@interface MyClass ()
@property (nonatomic, strong) NSString *privateProperty;
- (void)privateMethod;
@end
Apple এর অফিসিয়াল IDE যা macOS এবং iOS অ্যাপ ডেভেলপমেন্টের জন্য ব্যবহৃত হয়।
GUI তৈরি করার জন্য ব্যবহৃত টুল।
Objective-C একটি শক্তিশালী এবং কার্যকরী প্রোগ্রামিং ভাষা যা Apple এর ইকোসিস্টেমে গুরুত্বপূর্ণ ভূমিকা পালন করেছে। যদিও Swift এর আগমনের ফলে এর ব্যবহার কিছুটা কমে গেছে, তবে পুরনো কোডবেস এবং স্থিতিশীলতার কারণে এটি এখনও প্রাসঙ্গিক। যারা macOS বা iOS অ্যাপ ডেভেলপমেন্ট করতে চান, তাদের জন্য Objective-C জানা একটি বড় সুবিধা।
Objective-C হল C প্রোগ্রামিং ভাষার উপর ভিত্তি করে একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা, যা মূলত macOS এবং iOS অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহৃত হয়। এটি Apple এর ইকোসিস্টেমে বেশ গুরুত্বপূর্ণ ভূমিকা পালন করেছে এবং এখনও বহু ডেভেলপারদের জন্য প্রয়োজনীয় একটি ভাষা।
Objective-C হল একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা যা C এর উপর ভিত্তি করে তৈরি হয়েছে। এটি মূলত macOS এবং iOS অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য ব্যবহৃত হয়। এই গাইডে আমরা Objective-C এর সূচনা থেকে শুরু করে এর ইতিহাস, বৈশিষ্ট্য, ব্যবহারের কারণ, প্রয়োজনীয়তা, ভাষার মৌলিক ধারণা উদাহরণসহ, মেমরি ম্যানেজমেন্ট, প্রোটোকল এবং ডেলিগেট, ক্যাটাগরি এবং এক্সটেনশন, প্রয়োজনীয় টুলস এবং ফ্রেমওয়ার্ক, ভবিষ্যৎ চ্যালেঞ্জ, অন্যান্য প্রোগ্রামিং ভাষার সাথে পার্থক্য, অতিরিক্ত সম্পদ এবং গুরুত্বপূর্ণ কিওয়ার্ডগুলি আলোচনা করব।
Objective-C তৈরি করেছিলেন Brad Cox এবং Tom Love ১৯৮০-এর দশকে। এটি C এর সাথে Smalltalk এর অবজেক্ট-ওরিয়েন্টেড ধারণাগুলির মিশ্রণ। ১৯৮৮ সালে NeXT কোম্পানি Objective-C কে তাদের NeXTSTEP অপারেটিং সিস্টেমের জন্য ব্যবহার করে, যা পরে Apple দ্বারা গ্রহণ করা হয়। এটি macOS এবং iOS ডেভেলপমেন্টের মূল ভাষা হয়ে ওঠে।
Objective-C এর সিনট্যাক্স C এর উপর ভিত্তি করে, তবে মেসেজ পাসিংয়ের জন্য Smalltalk-এর স্টাইল ব্যবহার করে।
int count = 10;
float price = 99.99;
NSString *message = @"স্বাগতম";
[object method];
[object methodWithParameter:param];
@interface Person : NSObject
@property (nonatomic, strong) NSString *name;
- (void)displayName;
@end
@implementation Person
- (void)displayName {
NSLog(@"Name: %@", self.name);
}
@end
Person *person = [[Person alloc] init];
person.name = @"রহিম";
[person displayName];
int, float, double, char, BOOLNSString, NSArray, NSDictionary, NSNumberObjective-C তে মেমরি ম্যানেজমেন্টের জন্য ARC ব্যবহার করা হয়, যা স্বয়ংক্রিয়ভাবে অবজেক্টের লাইফসাইকেল পরিচালনা করে।
nil হয়ে যায়।প্রোটোকলগুলি এমন একটি ইন্টারফেস যা ক্লাসগুলি গ্রহণ করতে পারে।
@protocol MyProtocol
@required
- (void)requiredMethod;
@optional
- (void)optionalMethod;
@end
ডেলিগেট প্যাটার্ন ব্যবহারে এক অবজেক্ট অন্য অবজেক্টের ইভেন্ট হ্যান্ডল করতে পারে।
@interface MyClass : NSObject
@end
ক্যাটাগরি ব্যবহার করে বিদ্যমান ক্লাসে নতুন মেথড যোগ করা যায়।
@interface NSString (ReverseString)
- (NSString *)reverseString;
@end
@implementation NSString (ReverseString)
- (NSString *)reverseString {
NSUInteger length = [self length];
NSMutableString *reversedString = [NSMutableString stringWithCapacity:length];
while (length > 0) {
[reversedString appendString:[NSString stringWithFormat:@"%C", [self characterAtIndex:--length]]];
}
return reversedString;
}
@end
এক্সটেনশন ব্যবহার করে প্রাইভেট মেথড এবং প্রোপার্টি ডিক্লেয়ার করা যায়।
@interface MyClass ()
@property (nonatomic, strong) NSString *privateProperty;
- (void)privateMethod;
@end
Apple এর অফিসিয়াল IDE যা macOS এবং iOS অ্যাপ ডেভেলপমেন্টের জন্য ব্যবহৃত হয়।
GUI তৈরি করার জন্য ব্যবহৃত টুল।
Objective-C একটি শক্তিশালী এবং কার্যকরী প্রোগ্রামিং ভাষা যা Apple এর ইকোসিস্টেমে গুরুত্বপূর্ণ ভূমিকা পালন করেছে। যদিও Swift এর আগমনের ফলে এর ব্যবহার কিছুটা কমে গেছে, তবে পুরনো কোডবেস এবং স্থিতিশীলতার কারণে এটি এখনও প্রাসঙ্গিক। যারা macOS বা iOS অ্যাপ ডেভেলপমেন্ট করতে চান, তাদের জন্য Objective-C জানা একটি বড় সুবিধা।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?