黑马程序员_面向对象的理解

本文对比了面向过程与面向对象的编程方式,阐述了面向对象编程的优势所在,并通过实例介绍了如何设计一个类。

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

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

总的感想:

c语言是面向过程的,也就是说他是很注重实现一个目的的过程,每一个步骤都分开实现,重点是在过程,这对于开发者来说会变得很麻烦,很不方便。然而oc是面向对象的,一开始我也很不理解那句经典的话“万物皆对象”,可当你慢慢使用的时候,你会体会到那种面向对象的好处,因为只要是一个物体,都有他的自身的用处,那就足够条件成为一个对象。我举一个例子,一个50岁的男人跑完步就吃早餐。在c语言的角度看,完成这个句子需要写一个具体的实现过程,而且如果换了另外一个人,做了了某些事,又要从新对这个人的行为属性具体描述,实现这个过程。可是在面向对象里面,我们可以把这个抽象出来,把这句话的内容创建一个人的类,赋予这个人的不同属性以及方法(行为),我们到时创建一个新的对象(实例),例如:一个20岁的女人打完球就吃晚餐了。只需要把对象的属性和行为传进去,调用类里面早已定义好的就行了,如此类推,把一个人的具体信息以及行为传进去就可以,不需要关心他是怎么实现的,调用类的就好,这样省去了很多繁琐的步骤,而且可读性比较好。例如:


@interface Person : NSObject
{
	// 属性	
}
	// 声明方法(行为)
@end

@implementation Person
	// 定义方法(实现行为)
@end

int main()
{
	// 创建对象(实例);
	// 调用方法实现目的,不需要关心过程(不需要关心怎么调用的的过程)
	return 0;
}




如何来设计一个类:需要设计哪些类,如何设计类类的设计,只关心3样东西:


事物名称(类名):人(Person)
属性:身高(height)、年龄(age)
行为(功能):跑(run)、打架(fight)


常见错误以及注意点:


1> 只有类的声明,没有类的实现
2> 漏了@end
3> @interface和@implementation嵌套
4> 两个类的声明嵌套
5> 成员变量没有写在括号里面
6> 方法的声明写在了大括号里面
7> 成员变量不能在{}中进行初始化、不能被直接拿出去访问
8> 方法不能当做函数一样调用
9> 成员变量\方法不能用static等关键字修饰,别跟C语言混在一起(暂时忽略)

10> 类的实现可用写在main函数的后面,主要在声明后面就行了


---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值