博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OC第一天——面向对象
阅读量:6956 次
发布时间:2019-06-27

本文共 1969 字,大约阅读时间需要 6 分钟。

1.OC: Object- C ,面向对象的语言
2、OC 和 C的区别:
<1> oc是 c的超集 ,oc是在c语言的基础上做了扩展,c语言中的所有语法,在oc中都可以使用,甚至你可以在工程里加入C++ 语言
<2>oc在c基础上扩展了面向对象的特点
<3>oc 是一门运行时语言
<4>oc为我们提供了丰富的类库
3、 
如何学习好OC ?
    //1.百度 (ios)
   
 
//2.看苹果的官方文档(API接口网站)
   
 
//3.看博客
    //4.自己的错误总结
4、 
面向对象编程的核心:类和对象
    
面向对象编程的三大特征:封装,继承,多态
    
类:具有相同特征和行为(功能)事物的抽象
 对象:就是类的实例化
5、 
创建一个类:
    
//1、通过Cocoa touch class 模板,创建类,自动生成.h 和 .m文件
   
 
//2、在.h 文件中写类的特征(实例变量) 和方法的声明
    //3、在.m中写实现部分
 ——*
使用类创建对象*——
    
//1、开辟内存空间
    //2、初始化
6、[ ]中括号调用方法
    
//[Person alloc] 给person 这个类发送一个消息alloc(开辟内存空间)
   
 
//创建对象person1
    //每一个对象 isa指针 用来指向它的父类,之所有能够调用父类的方法,完全是因为这个 isa  指针;
7、 
初始化 如果初始化没有赋值这时默认所有的实例变量都为空;
                   person1 = [person1 init];
   这条语句同时完成了两件事:开辟内存并初始化;
8、例子:
.h文件:
//@interface 是接口 Person 是类名    :继承自谁 NSObject 是所有Oc类中的基类
//---------------------------Person类的创建对象的特征---------------------
@interface 
Person : 
NSObject
//特征一定要写在下面那对大括号里面
{     
 
@public    //实例变量对@public 修饰后的就能在类的外部访问到这些实例变量了;
   
 
//类的外部指:.h 和.m 之外的其他文件就叫类的外部
   
 
//类的内部指:.h 和.m 文件之内
    //NSString 是OC中字符串类
               
NSString 
*_name;
//姓名NSString 不是基本数据类型,所以定义它需要加*
   
             
 
NSInteger    _age;//年龄NSInteger 是基本数据类型,所以定义变量时不需要加*号
               NSString *_sex;//性别
// ----------------------------Persson类型创建出对象所拥有的行为----------
//行为的声明部分
//用 (减号)(- )号 修饰的方法属于对象方法,这个方法只能有我们定义这个类的创建出来对象来调用
//用加好(+)修饰的方法属于类方法,这这方法只能有类来调用
- (
id
)init;
//重写inint写法
- (
void
)sayHello;
//小驼峰命名法
- (
void
)eat;
//添加一个带参数的方法
//一个冒号:代表一个参数
//写一个带有参数的方法时格式<    :(数据类型)参数名   >
- (void)talk:(NSString *)content;     //隐匿有参数数据类型
- (
void
)talk:(
NSString 
*)content withSonmeone : (
NSString 
*)name;
@end
————————————————————————
.m文件:
/@implementation 是类的实现部分
@implementation 
Person
//id 范类型,返回值可以指向任何类型的对象   类似于void *  ;
- (id)init{—————————赋给初始值————————
   
_name 
= 
@"翔哥"
;
  
 
_sex 
= 
@"妖"
;
   
 
_age 
= 
18
;
   
   
 
//打印self地址
   
 
NSLog
(
@"self地址:%p"
,
self
);
   
   
 
//谁调用这个方法self 指的就是谁
    return self;
————————————————————————————————————
main.m  文件:
 
Person 
*p = [[
Person 
alloc
]
init
];
   
 
//调用sayhello的方法
    [p
 
sayHello
];
    p->
_name 
= 
@"zhangSan"
;
    p->
_age 
= 
18
;
    p->
_sex 
= 
@"妖"
;
    [p
 
sayHello
];
   
 
//调用吃得方法
    [p eat];
转自:http://blog.csdn.net/qq_31810357
你可能感兴趣的文章
C# 语言规范_版本5.0 (第0章 目录)
查看>>
hive基本操作与应用
查看>>
继续C#开发or转做产品
查看>>
drf分页器,url控制器,解析器,响应器
查看>>
Java数据结构与算法(11) - ch06递归(二分法查找)
查看>>
请利用filter()过滤出1~100中平方根是整数的数
查看>>
Java_JDBC_Oracle
查看>>
数据库求闭包,求最小函数依赖集,求候选码,判断模式分解是否为无损连接,3NF,BCNF...
查看>>
ab测试大并发错误
查看>>
js 对象toString()方法
查看>>
python面试题
查看>>
Java核心技术卷一基础知识-第5章-继承-读书笔记
查看>>
解决了64位 window 8英文版 office 2013 word繁简转换的问题( 看图)
查看>>
【机器学习】--贝叶斯网络
查看>>
C# 中使用 Task 实现提前加载
查看>>
php---依赖倒转(反转控制)原则
查看>>
团队编程项目开发环境搭建过程
查看>>
iOS 页面与页面之间传参数的方法 代码块传值
查看>>
POJ 2503
查看>>
基于 HTML5 结合互联网+的电力接线图
查看>>