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 ;
}
#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

oc-17-description的更多相关文章

  1. OC语言description方法和sel

    OC语言description方法和sel 一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象 ...

  2. 李洪强iOS开发之OC语言description方法和sel

    OC语言description方法和sel 一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象 ...

  3. OC基础--description方法

    PS:经过之类重写description方法后,个人感觉有点像C#中的ToString();方法 一.description方法的作用:(输出所有的OC对象都用%@) 1.默认情况下(不重写descr ...

  4. oc语言--description方法和sel

    一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象方法) 使用NSLog和@%输出某个对象时, ...

  5. OC - 17.AFNetworking原理及常用操作

    AFN的六大模块 NSURLConnection,主要对NSURLConnection进行了进一步的封装,包含以下核心的类: AFURLConnectionOperation AFHTTPReques ...

  6. [ICLR'17] DEEPCODER: LEARNING TO WRITE PROGRAMS

    DEEPCODER: LEARNING TO WRITE PROGRAMS Basic Information Authors: Matej Balog, Alexander L. Gaunt, Ma ...

  7. UOJ #17. 【NOIP2014】飞扬的小鸟 背包DP

    #17. [NOIP2014]飞扬的小鸟 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4902  Solved: 1879 题目连接 http:// ...

  8. Python+Selenium学习笔记17 - HTML测试报告

    运行少量case时 1 # coding = utf-8 2 3 from selenium import webdriver 4 import unittest 5 import time 6 fr ...

  9. java web学习总结(十六) -------------------数据库连接池

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  10. JavaWeb学习(三十)———— 数据库连接池

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

随机推荐

  1. 设计模式 单件-Singleton

    单件模式 Singleton 什么时候使用?当需要独一无二的对象时,请想起他. 举例:线程池(threadpool),缓存(cache),对话框,处理偏好设置和注册表(registry)的对象,驱动程 ...

  2. html5基础知识

    html5+css3 html5定义很多简便东西和宽松语法:     文档头:         <!doctype html>     文档编码:         <meta cha ...

  3. kali系统安装图文教程

    工具和原料 1.虚拟机:Oracle VM VirtualBox 下载地址:https://www.virtualbox.org/wiki/Downloads 根据你自己的计算机操作系统下载,其中如果 ...

  4. 2d网络游戏的延迟补偿(Lag compensation with networked 2D games)

    http://gamedev.stackexchange.com/questions/6645/lag-compensation-with-networked-2d-games ——————————— ...

  5. UVALive 5888 Stack Machine Executor (栈+模拟)

    Stack Machine Executor 题目链接: http://acm.hust.edu.cn/vjudge/problem/26636 Description http://7xjob4.c ...

  6. CF160D

    题意:给你一个图,判断每条边是否在最小生成树MST上,不在输出none,如果在所有MST上就输出any,在某些MST上输出at least one: 分析:首先必须知道在最小生成树上的边的权值一定是等 ...

  7. HDU 1241 Oil Deposits DFS(深度优先搜索) 和 BFS(广度优先搜索)

    Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...

  8. apache与IIS端口冲突修改和需要使用 SSL 查看该资源”错误

    改变Apache端口等配置修改方法 www.educity.cn 发布者:jsb200421 来源:网络转载 发布日期:2014年01月02日 如何改变Apache端口:找到Apache安装目录下co ...

  9. XSLT模糊查询函数contains不区分大小写,for-each排序

    代码如下: <xsl:for-each select="//NewDataSet/map/area[contains(translate(@alt, 'ABCDEFGHIJKLMNOP ...

  10. android 绘图之Canvas,Paint类

    Canvas,Paint 1.在android 绘图但中经常要用到Canvas和Paint类,Canvas好比是一张画布,上面已经有你想绘制图画的轮廓了,而Paint就好比是画笔,就要给Canvas进 ...