Objective-c面向对象初体验

本文详细介绍了面向对象编程的基本概念、类与对象的创建、属性与成员变量、方法的声明与实现、有参数的方法、初始化方法、封装、继承、多态等核心内容,并通过示例代码展示了如何在Xcode环境中进行实际操作。

根据老师总结,记录下来,一起努力!

 

 

1.什么是面向对象

l OOP(Object Oriented Programming)基本概念

l 对象

l 抽象 

 

2.类和对象的基本概念

l 创建类,得到对象

注意:在xcode中创建类可以如下操作:右键—New File(或者COMMAND+N)—

Cocoa Touch Class—继承自NSObjectSubclass of)—类名(例如Person

 

//Person.h

#import <Foundation/Foundation.h>

@interface  Person: NSObject

 

@end

 

//main.m

main函数当中写入

//实例化对象

/*[类名 方法名或者 [对象名 方法名]*/

Person *p1 = [[Person alloc] init];//alloc - 为对象分配内存空间  init- 进行初始化操作

NSLog(@”p1 - %p”,p1);//运行结果:p1 - 0x10010db20

 

3.属性和成员变量

l 属性

//属性为了让类外可以访问成员变量//属性就是成员变量的外部接口

@propertynonatomic, strongNSString *personName;

一个属性对应两个方法:setName,getName;

-(void)setName:(NSString * ) name;

-(NSString *)getName;

//类内调用成员变量而不是属性,属性是给类外使用的

//成员变量最好是加_,苹果官方中的成员变量都是添加_

 

4.方法(函数)的声明和实现以及如何调用

l //调用方法是使用中括号

l //声明方法

//加号方法和减号方法可以相互调用,当然需要类名和实例化变量,加号方法不能调用成员变量

- (void)  report;//-+方法的类型(-代表对象方法,+代表类方法)

+(void)  report1;

l //实现方法

-voidreport

{

    NSLog(@”-号:report”);

}

+ (void) report1

{

   NSLog(@”+号:report1”);

}

l 调用

//调用方法使用[]

Person *p1 = [[Person alloc] init];

[p1 report];

[Person report1];

 

5.有参数的方法

-intshowWithA: (int) a;

 - (int) showWithA:(int) a andB:(int) b;//两个参数

 

6.函数名(方法名)-去掉函数(方法)类型,去掉参数类型,去掉参数名称剩下的就是函数(方法)

 

 

7.初始化方法

//重写初始化方法

-instancetypeinit

{

}

//自定义初始化方法

-instancetypeinitWithPersonName:(NSString *)PersonName and PersonAge:(int)PersonAge

 

8.封装

l 访问修饰符

//关于成员变量访问修饰符的问题:@public公有(在类内类外都可以使用并且可以被继承,使用指向来调用类中的公有成员变量)

@protected受保护(默认为protected)(在类内可以使用,在类外无法调用,可以被继承)

@private私有(在类内可以使用,在类外无法调用,不可以被继承)

@package框架权限 (在框架内相当于受保护,在框架外相当于私有)

l 方法是没有访问修饰符的,同C语言一样。

 

9.继承

l 父类中的私有变量我们是无法继承使用的

l 如果父类中的方法中使用了私有变量,而我们子类继承了父类的这个方法,那私有变量的操作以及打印我们是可以看到的,但是我们不可以在子类中直接调用私有变量。

l 如果父类中的方法没有写声明则子类无法继承父类中对应的方法。

 

10.多态

l 将一个方法从一个父类出来修改为多个形态方法的子类。

l 方法重写:在子类中进行方法的重写,函数名以及参数都是一样的,只是内容作了修改

l 方法重载(OC里面不能进行方法重载)

//调用父类方法

[super  print];

//调用当前类方法

[self   print];

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值