Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Objective-C入門

 Objective-C入門

プログラミング初心者向け

Yusuke Fujiki

October 23, 2013
Tweet

More Decks by Yusuke Fujiki

Other Decks in Programming

Transcript

  1. interface(設計図) @interface Animal : NSObject @property (nonatomic) NSString *name; @property

    (nonatomic) NSInteger legs; - (void)sayMyName; @end クラス名
  2. interface(設計図) @interface Animal : NSObject @property (nonatomic) NSString *name; @property

    (nonatomic) NSInteger legs; - (void)sayMyName; @end クラス名 継承元
  3. interface(設計図) @interface Animal : NSObject @property (nonatomic) NSString *name; @property

    (nonatomic) NSInteger legs; - (void)sayMyName; @end クラス名 継承元 属性
  4. interface(設計図) @interface Animal : NSObject @property (nonatomic) NSString *name; @property

    (nonatomic) NSInteger legs; - (void)sayMyName; @end クラス名 継承元 属性 メソッド
  5. クラスの使い方 Animal *animal = [[Animal alloc] init]; animal.name = @"Stud";

    [animal sayMyName]; クラスからインスタンスを作る
  6. クラスの使い方 Animal *animal = [[Animal alloc] init]; animal.name = @"Stud";

    [animal sayMyName]; 属性を設定 クラスからインスタンスを作る
  7. クラスの使い方 Animal *animal = [[Animal alloc] init]; animal.name = @"Stud";

    [animal sayMyName]; 属性を設定 クラスからインスタンスを作る sayMyNameメソッドを 実行
  8. 継承する @interface Human : Animal - (void)sayHello; @end @implementation Human

    - (void)sayHello { NSLog(@"%@ : Hello!", self.name); } @end
  9. 継承する @interface Human : Animal - (void)sayHello; @end @implementation Human

    - (void)sayHello { NSLog(@"%@ : Hello!", self.name); } @end Animalクラスを 継承
  10. 継承する @interface Human : Animal - (void)sayHello; @end @implementation Human

    - (void)sayHello { NSLog(@"%@ : Hello!", self.name); } @end Animalクラスを 継承 HumanクラスにはsayHelloメソッドをもたせる
  11. 継承する @interface Human : Animal - (void)sayHello; @end @implementation Human

    - (void)sayHello { NSLog(@"%@ : Hello!", self.name); } @end Animalクラスを 継承 sayHelloメソッドの実装 HumanクラスにはsayHelloメソッドをもたせる
  12. メソッドの定義 - (void)sayHello; - (NSString *)helloMessage; - (void)sayHelloToSomeone: (NSString *)someone;

    - (NSString *)helloToSomeoneMessage: (NSString *)someone; 通常のメソッド
  13. メソッドの定義 - (void)sayHello; - (NSString *)helloMessage; - (void)sayHelloToSomeone: (NSString *)someone;

    - (NSString *)helloToSomeoneMessage: (NSString *)someone; 通常のメソッド 返り値ありのメソッド
  14. メソッドの定義 - (void)sayHello; - (NSString *)helloMessage; - (void)sayHelloToSomeone: (NSString *)someone;

    - (NSString *)helloToSomeoneMessage: (NSString *)someone; 通常のメソッド 返り値ありのメソッド 引数があるメソッド
  15. メソッドの定義 - (void)sayHello; - (NSString *)helloMessage; - (void)sayHelloToSomeone: (NSString *)someone;

    - (NSString *)helloToSomeoneMessage: (NSString *)someone; 通常のメソッド 返り値ありのメソッド 引数があるメソッド 返り値と引数があるメソッド
  16. メソッドの実装 - (void)sayHello { NSLog(@"%@ : Hello!", self.name); } -

    (NSString *)helloMessage { return [NSString stringWithFormat: @"%@ : Hello!", self.name]; }
  17. メソッドの実装 - (void)sayHello { NSLog(@"%@ : Hello!", self.name); } -

    (NSString *)helloMessage { return [NSString stringWithFormat: @"%@ : Hello!", self.name]; } 通常のメソッド
  18. メソッドの実装 - (void)sayHello { NSLog(@"%@ : Hello!", self.name); } -

    (NSString *)helloMessage { return [NSString stringWithFormat: @"%@ : Hello!", self.name]; } 通常のメソッド 返り値ありのメソッド
  19. メソッドの実装 - (void)sayHelloToSomeone:(NSString *)someone { NSLog(@"%@ : Hello, %@!", self.name,

    someone); } - (NSString *)helloToSomeoneMessage: (NSString *)someone { return [NSString stringWithFormat:@"%@ : Hello, %@!", self.name, someone]; }
  20. メソッドの実装 - (void)sayHelloToSomeone:(NSString *)someone { NSLog(@"%@ : Hello, %@!", self.name,

    someone); } - (NSString *)helloToSomeoneMessage: (NSString *)someone { return [NSString stringWithFormat:@"%@ : Hello, %@!", self.name, someone]; } 引数があるメソッド
  21. メソッドの実装 - (void)sayHelloToSomeone:(NSString *)someone { NSLog(@"%@ : Hello, %@!", self.name,

    someone); } - (NSString *)helloToSomeoneMessage: (NSString *)someone { return [NSString stringWithFormat:@"%@ : Hello, %@!", self.name, someone]; } 引数があるメソッド 返り値と引数があるメソッド