m0_68809745 2022-05-11 13:30 采纳率: 20%
浏览 34

对象的属性和方法这样理解可对

对象的属性和方法,是不是能理解为这个对象的一些方法,能做不同的事情。另一个对象的方法能做一些别的事情。这是大白话通俗能这样理解吗?

  • 写回答

3条回答 默认 最新

  • 於黾 2022-05-11 13:41
    关注

    你要理解对象的属性和方法,就先要理解封装的概念
    如果你还停留在搞单片机那种完全掌控过程的水平,那是没法理解为什么要封装的
    当你的项目足够大,比如有10000行代码,还搞过程开发要累死的
    你必须把不同的功能分开,不要都混在一个文件里面,这样便于排查错误,也利于维护
    而不是改动了任何一个函数,都可能让整个文件变得不可用
    -=-=-=
    那么说完了为什么要封装,就要谈如何进行封装
    首先是对数据进行封装
    你不希望程序运行中所需要的所有数据全堆在一起,多了之后自己也不记得哪个变量是干什么的,就需要把它们封装进不同的类里
    此时如果需要对数据进行一些处理,比如给定圆半径计算周长和面积,自然是把方法也封装在类里比较好
    你也不希望时间长了,所有的类都和别的类互相牵扯,哪个也不能删掉吧
    属性其实就是用来存数据的,而方法是用来处理数据的
    -=-=-=
    还有一种就是对方法进行封装
    虽然类库里已经提供了很多方法,但是总有些方法是我们自己需要用而类库里没有提供的
    如果你把所有方法都放到一个文件里,同样存在时间长了乱糟糟的一大堆不知道干什么用的问题
    所以需要分门别类的放到不同的类里去,方便调用
    而如果这些方法有些需要用到全局变量,那当然是把这些变量放到类里作为属性,而不是类外面的别的什么地方更好,否则时间长了又乱糟糟的
    -=-=-=
    总之,封装是为了解决问题
    你抛开了实际问题而理解封装,
    那就是为了封装而封装
    那不是解决问题,是制造问题

    评论 编辑记录

报告相同问题?

问题事件

  • 提问应符合社区要求 5月11日
  • 创建了问题 5月11日