面向对象的三大特征

本文详细介绍了Objective-C中的三大面向对象特性:封装数据和操作,实现代码安全性和可维护性;通过继承重用和扩展代码;以及多态性允许不同对象对相同消息做出差异化响应。实例演示了如何在实践中运用这些概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Objective-C的面向对象的三大特征是封装、继承和多态。

1. 封装:

封装是将数据和对数据的操作封装在一个对象中,对象对外部提供接口来访问和修改数据,同时
隐藏了实现的细节。通过封装可以提高代码的安全性和可维护性。

@interface Person : NSObject

@property NSString *name;
@property NSInteger age;

- (void)sayHello;

@end

@implementation Person

- (void)sayHello {
    NSLog(@"Hello, my name is %@ and I am %ld years old.", self.name, self.age);
}

@end

Person *person = [[Person alloc] init];
person.name = @"Alice";
person.age = 25;
[person sayHello];

2. 继承:

继承允许一个类继承另一个类的属性和方法,通过继承可以实现代码的重用和扩展。子类可以继
承父类的属性和方法,并且可以添加自己特有的属性和方法。
 

@interface Student : Person

@property NSString *major;

- (void)study;

@end

@implementation Student

- (void)study {
    NSLog(@"I am a student majoring in %@.", self.major);
}

@end

Student *student = [[Student alloc] init];
student.name = @"Bob";
student.age = 22;
student.major = @"Computer Science";
[student sayHello];
[student study];

3. 多态:

多态允许不同的对象对相同的消息作出不同的响应,对象的实际行为取决于其实际类型。通过使
用基类指针或引用来调用派生类的方法,可以实现多态。

@interface Shape : NSObject

- (void)draw;

@end

@implementation Shape

- (void)draw {
    NSLog(@"Drawing a shape.");
}

@end

@interface Circle : Shape

@end

@implementation Circle

- (void)draw {
    NSLog(@"Drawing a circle.");
}

@end

@interface Square : Shape

@end

@implementation Square

- (void)draw {
    NSLog(@"Drawing a square.");
}

@end

Shape *shape1 = [[Circle alloc] init];
[shape1 draw];  // 输出:Drawing a circle.

Shape *shape2 = [[Square alloc] init];
[shape2 draw];  // 输出:Drawing a square.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lcannal

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值