A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 代战 中级黑马   /  2015-12-9 19:17  /  722 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
参数的类型用()括起来  参数用:(冒号)分隔.一个参数对应一个:(冒号)
有参方法的使用:
方法的声明:
-(double)sumOfNum1:(double)num1 andNum2:(double) num2;

方法的调用:[c sumOfNum1:   andNum2:  ];

-(double)sumOfNum1:(double)num1 andNum2:(double) num2 andNum3:(double)num3 andNum4:(double)num4;


*/

//#import<Foundation/Foundation.h>
//@interface Add:NSObject
//
//
//
//-(double)addOfNum1:(double)num1 andNum2:(double) num2 andNum3:(double)num3 andNum4:(double)num4;
//
//
//
//
//@end
//
//@implementation Add
//
//-(double)addOfNum1:(double)num1 andNum2:(double) num2 andNum3:(double)num3 andNum4:(double)num4{
//   
//   
//    return num1+num2+num3+num4;
//}
//
//
//
//@end
//
//int main()
//{
//   
//   
//   
//    NSlog(@"");
//    return 0;
//}
//

//
//1.方法的数据类型需要添加什么?
括号()
//2.方法的参数名与方法名以什么分隔?
冒号:
//3.方法名怎么确定?
方法中除了方法类型符,参数名和数据类型的部分统称方法名
//4.参数前的修饰可以省略吗?
可以 省略是简化版的 一般不推荐  如前面的num1 num2之类的


//5.方法和函数的区别
  这两者功能是类似的。但语法及使用上有不同
1>.对象都要以  -  开头,数据类型要用()括起来,函数不需要
2>.对象的方法声明要写在@interface和@end之间 ,实现必须写在@implementation和
@end之间 函数可以是任何位置(@interface和@end之间除外)
3>.对象方法的参数与方法之间以冒号:分隔.而函数是以括号()
4>.对象只能由对象来调用,函数不需要
5>.对象方法归类/对象所有,函数归文件所有
6>.对象内部能直接通过成员变量名访问某个对象的成员变量,函数不能

//6.类的属性可以是什么数据类型?
     所有类型


//
//7.类中可不可以把别的对象当属性?如果可以用什么表示?
  可以   指针类型 如 person * name

//8.一个类的属性不赋值。默认的是什么?
默认是0
//9.一个类中的对象属性不赋值能使用吗?
可以

//10.什么叫高内聚?什么叫低耦合?
高内聚:把有关联的属性封装起来,成为一个单一的模块
低耦合:就是一个类中各模块应该尽量独立。

//11.什么叫匿名对象?
没有赋予一个指针去接收的对象 也就是没有名字的对象

//12.匿名对象可不可以复用?
不可以
//13.匿名对象一般不要访问什么?

类的属性

//14.oc的消息机制实现的过程?

比如对象p1调用smile 方法 实际上是给对应的堆空间的对象发送消息,堆中的对象通过isa指针
去代码区寻找类的代码,找到对应的方法
如果方法中使用到了对象的属性,堆中的那个对象调用了方法,方法就访问堆中哪个对象的属性
//这就是oc的消息机制实现的过程

//15.对象中有方法吗?
没有 对象中只有属性

//16.方法在哪里?
在代码区对应的类中

//17.用对象指针是如何通过方法直接访问属性的?

使用oc的消息机制;
比如对象p1调用smile 方法 实际上是给对应的堆空间的对象发送消息,堆中的对象通过isa指针
去代码区寻找类的代码,找到对应的方法
如果方法中使用到了对象的属性,堆中的那个对象调用了方法,方法就访问堆中哪个对象的属性

//18.用对象指针是如何访问方法的?

比如对象p1调用smile 方法 实际上是给对应的堆空间的对象发送消息,堆中的对象通过isa指针
去代码区寻找类的代码,找到对应的方法

//19.类的封装主要是指的什么?
是指隐藏对象的属性和方法的实现细节,仅对外提供公共访问方式。

//20.类的封装有什么好处?
1.将变化隔离。
2.便于使用。
3.提高重用性。
4.提高安全性。

//21.举例说明封装的好处?


//22.封装原则:
1.讲不需要对外提供的内容都隐藏起来。
2.把属性都隐藏,提供公共方法对其访问。

/*
属性的两种操作方式:1.直接操作.@public
2.通过给外部暴露两个方法:set方法用于设置值。get方法用于获取值

set使用规范:
1.不能有返回值
2.必须有参数。且参数类型必须与属性类型一致
3.参数名不能与属性名一致
4.set+属性名:首字母大写
5.作用就是给属性去赋值

get使用规范:
1.必须有返回值
2不能有参数
3.返回值类型必须跟属性类型一致
4.get+属性名:首字母大写
5.作用就是给属性值传递给调用者

*/














0 个回复

您需要登录后才可以回帖 登录 | 加入黑马