OC面向对象 ☀️

  • 版权声明:本文为博主原创文章,未经博主允许不得转载。
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];```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.OC: Object- C ,面向对象的语言 2、OC和C的区别 <1> oc是 c的超集 ,oc是在c语言的...
    Hm丶阅读 725评论 0 2
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • OC面向对象—多态 OC面向对象—多态 一、基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没...
    不会打滚儿的狮子阅读 1,238评论 1 2
  • 1.思维笔的空性 早上对姐姐做施与受的冥想的时候,感受到一种愤怒,我觉得姐姐姐夫不思进取,投机,很凡夫,不改变,安...
    柔光宝宝阅读 239评论 0 0
  • 上午,弟弟在写英语单词,我在看书,我俩有一句没一句的聊着。 我:昨天晚上在家过得怎么样? 弟弟平淡的说:就那样。 ...
    小纽扣的日记阅读 217评论 0 3