鱼C论坛

 找回密码
 立即注册
查看: 1951|回复: 0

[技术交流] 34 类和对象:给大家介绍对象 - 景命

[复制链接]
发表于 2017-8-13 23:47:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 景命 于 2017-8-13 23:46 编辑

知识点:


  • 对象 = 属性(数据,静态的特征。) + 方法(函数,动态的动作。)

  • 类:类就是一个模具,一个类为它的全部对象给出了一个统一的定义,而他的每个对象则是符合这种定义的一个实体,因此类和对象的关系就是抽象和具体的关系。

  • #Python中类的名字约定以大写字开头,方法或者函数以小写字母开头。以此来区分方法和函数。



创建一个类:
  1. class Turtle:
  2.     """关于类的一个简单的例子"""
  3.     #下面的是属性
  4.     color = "green"
  5.     weight = 10
  6.     legs = 4
  7.     shell = True
  8.     mouth = "大嘴"

  9.     #下面的是方法
  10.     def climb(self):
  11.         print("我正在很努力的向前爬.......")
  12.     def run(self):
  13.         print("我正在飞快的向前跑.......")
  14.     def bite(self):
  15.         print("我咬死你!")
  16.     def eat(self):
  17.         print("能吃东西,好幸福^_^")
  18.     def sleep(self):
  19.         print("困了,睡觉,晚安,Zzzz")
复制代码

创建一个实例对象:

  1. t = Turtle()                #建立一个Turtle()的类对象
  2. t.climb()                        #调用climb()方法
复制代码




OO面向对象(Object - oriented)的特征:

1.封装:将属性和方法封装到对象中,封装也是一种信息隐蔽技术,使我们的数据更加安全。
  1. >>> a = list()                #实例化一个列表对象。
  2. >>> a = [5,1,2,7,9,3]#将数据赋给a
  3. >>> a.sort()                #在这里进行排序,但是我们并不能看到排序方法是如何实现的。
  4. >>> a
  5. [1, 2, 3, 5, 7, 9]
  6. >>> a.append(8)        #将函数封装起来,只留给一个可以调用的名字,这就是封装。
  7. >>> a
  8. [1, 2, 3, 5, 7, 9, 8]
复制代码



2.继承:子类自动共享父类之间数据和方法的机制。
  1. >>> class Mylist(list):        #子类Mylist继承了父类list。
  2.         pass                                #表示占位符,什么都不做。

  3. >>> list2 = Mylist()                #实例化类Mylist对象list2。
  4. >>> list2.append(5)                #类Mylist对象list2同样可以调用类list的方法。
  5. >>> list2.append(3)
  6. >>> list2.append(7)
  7. >>> list2
  8. [5, 3, 7]
  9. >>> list2.sort()
  10. >>> list2
  11. [3, 5, 7]
复制代码



3.多态:不同对象,对同一方法响应不同的行动。
  1. #定义两个类,类中有同样名字的方法。
  2. >>> class A():
  3.         def fun(self):
  4.                 print("我是小A……")

  5.                
  6. >>> class B():
  7.         def fun(self):
  8.                 print("我是小B……")

  9. #分别实例化类对象
  10. >>> a = A()
  11. >>> b = B()
  12. >>> a.fun()        #调用同样名字的方法,却有不同的返回值。
  13. 我是小A……
  14. >>> b.fun()
  15. 我是小B……
复制代码


评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 04:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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