Atitit object 和class的理解 目录 1.1. 发现很多Object的方法都是相同的,他们被重复地放在一个个对象当中,太浪费了。 1 1.2. 那我们怎么把这些Object给创建起来

本文深入探讨了面向对象编程的核心概念,包括Class与Object的关系、this关键字的作用、继承的优势及如何在概念层次进行编程,强调了抽象思维的重要性。

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

Atitit object 和class的理解

 

目录

1.1. 发现很多Object的方法都是相同的,他们被重复地放在一个个对象当中,太浪费了。 1

1.2. 那我们怎么把这些Object给创建起来?并且让Object 和 Class关联?” 2

1.3. 要操作Object的数据, 到底操作的是哪一个Object?:“要有this!” 4

1.4. 要有继承 防止Class包含了类似的功能 4

1.5. 在概念层次进行编程。” 4

 

 

 

Object

 

    1. 发现很多Object的方法都是相同的,他们被重复地放在一个个对象当中,太浪费了。

上帝说:“要有Class!把这些重复的方法代码从对象中剥离出来,放到一个公共的Class中! ”

 

 

    1. 那我们怎么把这些Object给创建起来?并且让Object 和 Class关联?”

上帝说:“可以用new 这个关键字:Stack object1 = new Stack();”

Stack类的函数定义只有一份,但是Stack类生成的Object有很多份。

    1. 要操作Object的数据, 到底操作的是哪一个Object?:“要有this!”

每次调用函数的时候,可以把要操作的Object作为一个隐藏的参数传递进去。例如void push(int data),真正在调用的时候是这样的:void push(Stack this, int data)。

有个叫Guido的说:“我能不能把this改成 self ? ”

上帝说:“随你喽!”

还有人说:“这不又回到我们原始的状态去了吗? void push(Stack *s,int data)”

上帝告诫说:“虽然本质相同,但是表达形式不同,之前你在语法层面必须传递一个Stack 对象到函数,现在在语法层面不用加了。我会在编译后的代码,或者运行时自动给你们加上。”

 

    1. 要有继承 防止Class包含了类似的功能

很多很多的Class,上帝发现有些Class包含了类似的功能,还是有重复代码。

上帝说:“要有继承!把那些类似的、重复代码放到父类当中去,这样子类就可以直接使用,不用重新再写一遍了

 

    1. 在概念层次进行编程。”

 

编程的关键是要抽象啊!你们得把系统需求抽象成高层的概念,然后在概念层次进行编程。”

这句话本身就很抽象。

 

分析问题应该站在概念的层次上,而不是站在实现的层次上。什么叫做概念的层次呢?简单的说就是分析对象该做什么,而不是分析对象怎么做。前者属于分析的阶段,后者属于设计甚至是实现的阶段

 

简单的说吧,在概念层次上进行分析就是设计出接口(或是基类),而不用关心具体的接口实现(实现推迟到子类再实现)

 

 

面向对象圣经.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值