Objective‐C 
with respect to 
C# and Java
C# and Java
Presented by
Presented by

Babul Mirdha
Babul Mirdha
Founder at 

েসcা.Net (www.seccha.net)
Organizer at
Organizer at
Having more than 5 years of
working experiences with
g
p
iOS, Android, Windows
Phone, Web & Desktop
(.Net) app development, I
have worked with various
languages, technologies &
tools
in
different
environment.

iOS Developers Meetup
Senior Software Engineer at

LeadSoft Bangladesh Limited
Overview
• Objective‐C
Objective C
– A thin layer on top of C and a strict superset of C; 
–Object‐Oriented Programming language
b
d
l
–follows ANSI C style coding
–that adds Smalltalk‐style messaging
that adds Smalltalk style messaging 
Dynamic Language
Dynamic Language
• There is no formal written standard
– Relies mostly on libraries written by others

• Flexible almost everything is done at runtime
Flexible almost everything is done at runtime.
– Dynamic Binding
– Dynamic Typing
– Dynamic Linking

• This allows for greater flexibility
• Minimizes RAM and CPU usage
C++/C#/Java VS Objective‐C 
Terminology Comparison
T
i l
C
i
Class Declaration
Class Declaration
.NET C#

Objective‐C

cass AClass : Object
{
int aValue;
void doNothing();
g()
String returnString();
}

@interface AClass : NSObject
{
int aValue;
}
‐ (void)doNothing();
+ (NSString)returnString();
@
@end
Method Declaration
• Two type of Method:
– Class Method
– Instance method

• A class method 
– indicated by a plus (+) character. 
– associated with the class type.

• An instance method 
– indicated by a minus (‐) character
indicated by a minus (‐) character. 
– associated with an instance object associated with the 
class.
How to pass parameters to method.
How to pass parameters to method.
Valid Mathod
Valid Mathod
Properties
Strings
Immutable vs Mutable String
Immutable vs Mutable String
Interfaces and Protocols
Comments
Demo

Hello World!
Q & A
Thank You All

Objective-C with respect to C# and Java