oc-17-description

Book.h

#import <Foundation/Foundation.h>

@interface Book : NSObject
{
    NSString *_bookName; // 书名
    NSString *_author;   // 作者
}
- (void)setBookName:(NSString *)bookName;
- (NSString *)bookName;
- (void)setAuthor:(NSString *)author;
- (NSString *)author;
@end

Book.m

#import "Book.h"

@implementation Book

- (NSString *)description//NSObject的方法,java里面的toString()方法
/**
- (NSString *)description
1.所有的类都有description方法
2.作用:辅助NSLog输出.
<Book: 0x100306750>
类名:对象的地址(%p也可以输出)
*/
{
    NSLog(@"-----");
    return [NSString stringWithFormat:@"%@",self];
}

- (void)setBookName:(NSString *)bookName
{
    _bookName = bookName;
}

- (NSString *)bookName
{
    return _bookName;
}

- (void)setAuthor:(NSString *)author
{
    _author = author;
}

- (NSString *)author
{
    return _author;
}
@end

main.m

#import <Foundation/Foundation.h>
#import "Book.h"
#import "Student.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //str格式化输出
        NSString *str = [NSString stringWithFormat:@"名字是:%@,年龄是:%d,学号是:%d",name,age,no];
        NSLog(@"%@",str);
        //NSLog格式化输出
        NSLog(@"这本书的名字是:%@,作者名字:%@",name,[b author]);
    }
    return 0;
}

 

#import "Girl.h"

@implementation Girl
// 2.想要调用自己的对象方法时,通过重新创建对象来调用.
+ (void)callWithPhone:(Phone *)phone
{
    
    [phone call];
    NSLog(@"女孩要打电话了!");
    // 想要一边打电话一边吃东西
    Girl *g = [Girl new];
    [g eat];//类方法调用对象方法
}

- (void)eat
{
    NSLog(@"吃吃吃吃....");
    Phone *phone = [Phone new];
    [Girl callWithPhone:phone];//对象方法调用类方法
}
@end
+ (void)getUp
{
    NSLog(@"起床....");
    [self xiShu];//类方法调用类方法
}


+ (void)xiShu
{
    NSLog(@"刷牙--洗脸");
}

@end

 

posted @ 2016-03-23 00:30  无天666  阅读(381)  评论(0编辑  收藏  举报