鱼C论坛

 找回密码
 立即注册
查看: 3435|回复: 12

类与对象的疑惑

[复制链接]
发表于 2014-8-20 10:05:21 | 显示全部楼层 |阅读模式
30鱼币
虽然听了视频,但是对类还是没有概念。希望有论坛的老鸟能帮我解惑。

1. 列表、元素、字典的功能是打包数据,函数的功能是打包一个指令,那类的功能是什么?有什么用?
2.都说ptyhon无处不对象,也就是说:python 中的列表、变量、字典、函数、类、都是可以被赋值的,程序最后解决问题的途径就是按一定的方法拼接这些对象。可以这么理解吗?

最佳答案

查看完整内容

一开始学编程,都是一行一行指令的敲打,敲多了会发现很多语句都会重复,所以就有了函数,所以说函数是对语句的封装,调用函数相当于一次性执行多条语句完成特定的功能(Function)。继续敲代码,敲的更多了会发现函数传参很麻烦,尤其是牵涉数据结构(比如一个人有身高、体重、肤色,可以用一个数据结构来表示)时,传参特别麻烦(比如定义函数printPersonInfo(height, weight, color),函数的参数很长,而且传递比较麻烦),后来就有了 ...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-20 10:05:22 | 显示全部楼层
一开始学编程,都是一行一行指令的敲打,敲多了会发现很多语句都会重复,所以就有了函数,所以说函数是对语句的封装,调用函数相当于一次性执行多条语句完成特定的功能(Function)。继续敲代码,敲的更多了会发现函数传参很麻烦,尤其是牵涉数据结构(比如一个人有身高、体重、肤色,可以用一个数据结构来表示)时,传参特别麻烦(比如定义函数printPersonInfo(height, weight, color),函数的参数很长,而且传递比较麻烦),后来就有了类。类把数据(属性)和方法(函数)封装成了一个整体,比如我定义一个Person类:
class Person:
    height = 1.8
    weight = 60
    color = 'Yellow'

    def printInfo(self):
        print('height:', self.height)
        print('weight:', self.weight)
        print('color:', self.color)


这样的话,以后我实例化一个Person类的对象,p = Person(),使用p.printInfo()就能够完成上述所说的printPersonInfo(height, weight, color)函数的功能了。另外p对象里面拥有height、weight、color属性,也拥有printInfo()方法,这跟现实世界是不是很像,我们人有身高、体重、肤色还有说话、跑动等方法。上帝造出了人类,然后实例化了一个夏娃,之后其他人都跟夏娃一个样,有两只手、两只腿、有嘴、有鼻子。面向对象编程的灵感正是来自自然界,使用类来封装属性和方法,然后实例化对象,再对不同的对象来设置属性,这样不同的对象就能表现出不同的特征。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-21 19:03:33 | 显示全部楼层
有没有大牛能指点一下迷津。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-21 19:46:38 | 显示全部楼层
一个函数的功能是有限的
把很多个函数封装成一个类
那那个类就牛逼了

评分

参与人数 1鱼币 +1 收起 理由
dandd31 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-29 20:57:41 | 显示全部楼层
主类中按照组合的方式组合各个对象
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-30 09:38:06 | 显示全部楼层
为什么要有函数,如果你知道这个,就知道为什么要有类

评分

参与人数 1鱼币 +1 收起 理由
dandd31 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-12-9 20:43:05 | 显示全部楼层
类可以继承,你在父类中定义的函数可以在子类中用,如果没有类,我们只能使用函数嵌套函数的方式:
def 函数1(参数)
     def 函数2(参数)
这样多了会乱。。。这些层次复杂的功能,如果使用类来实现就容易管理的多,可以控制什么功能继承,什么不继承。

评分

参与人数 1鱼币 +2 收起 理由
dandd31 + 2

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-12-10 00:09:14 | 显示全部楼层
1.类最大的好处是代码的重用;
2.不敢苟同;
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-12-27 20:35:45 | 显示全部楼层
1.类 通俗理解就是 对 数据和函数 进行封装          用处就是代码重用。。。
2.解决问题是一个过程,  在这个过程中使用  列表、变量、字典、函数、类等等 可以 简化代码。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-1-21 22:44:25 | 显示全部楼层
一个大的项目,用面向对象的方式来开发的话,会很轻松,如果用面向过程的方式的话,会很难管理,而面向对象最大的特征是  继承,那怎么继承呢?就要通过类来实现了,子类继承父类,获取父类的方法及属性等.达到代码重用功能.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-1-23 16:29:51 | 显示全部楼层
说的好简单样子{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-1-30 11:49:34 | 显示全部楼层
JackJonesAngel 发表于 2015-1-30 10:07
一开始学编程,都是一行一行指令的敲打,敲多了会发现很多语句都会重复,所以就有了函数,所以说函数是对语 ...

这个解释的还是挺透彻的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-2-1 10:40:20 | 显示全部楼层
简单来说:类是对象的封装,对象是代码数据的封装。PYTHON一切皆是是对象。对象是类的实例,类是对象的抽象。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-15 08:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表