blob: 0ee0fc56038c9d3e0e3a5216936356a835e4f591 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
#include <Foundation/Foundation.h>
#include <objc/Object.h>
#include <stdio.h>
@interface Hello : NSObject
+ (instancetype)new;
- (void)sayHello;
@end
@implementation Hello
+ (instancetype)new {
return [[self alloc] init];
}
- (void)sayHello {
printf("Hello from Objective-C!\n");
}
@end
@interface ExtendedHello: Hello
- (void)sayHello;
- (void)baldNiko;
@end
@implementation ExtendedHello
- (void)baldNiko {
printf("67 67 bald niko 67\n");
}
- (void)sayHello {
[super sayHello];
[self baldNiko];
}
@end
@interface DoubleExtendedHello: ExtendedHello
- (void)baldNiko;
@end
@implementation DoubleExtendedHello
- (void)baldNiko {
printf("bald niko with CHEESE !!!\n");
}
@end
@interface Player : NSObject {
int x;
int y;
NSString *name;
}
- (instancetype)init;
- (void)setX:(int)x;
- (void)setY:(int)y;
- (void)setName:(NSString *)name;
- (void)sayHi;
@end
@implementation Player
- (instancetype)init {
self = [super init];
if (self) {
x = 0;
y = 0;
name = @"Player";
}
return self;
}
- (void)setX:(int)val {
x = val;
}
- (void)setY:(int)val {
y = val;
}
- (void)setName:(NSString *)val {
name = val;
}
- (void)sayHi {
printf("Hello, I'm %s, and I am at X: %d, Y: %d!\n", [name UTF8String], x, y);
}
@end
int main(void) {
Hello *hello = [Hello new];
[hello sayHello];
NSString *string = @"Test\n";
printf([string UTF8String]);
ExtendedHello *ehello = [ExtendedHello new];
[ehello sayHello];
DoubleExtendedHello *dehello = [DoubleExtendedHello new];
[dehello sayHello];
Player *player = [Player new];
[player setName:@"John Hackclub"];
[player sayHi];
return 0;
}
|