python:抽象

面向对象:

  • 对象(实例)
    – 由数据及能对其实施的操作所构成的封装体
    (例如猫亚科动物中的美短、英短、苏格兰折耳猫、波斯猫、暹罗猫、布偶猫等)

  • – 类描述了对象的特征,一个模板
    (例如猫亚科动物,都有特征:三角耳,圆眼睛,擅长爬树,喜欢鱼)
面向对象之抽象:

对话框可作为一个类,具体每个对象之间:

  • 相同点:
    – 有名字
    – 有矩形框
    – 鼠标点击时有效果
  • 不同点
    – 功能不同:刷新、退出

类的定义

class ClassName(object):#类名(父类),obect--万类之源
	'define ClassName class'  #说明文档
	class_suite  #类体代码

定义一个空类,即定义一个namespace:

class MyData(object):
	'this is a very simple example class'  #说明文档
	pass  #类体代码

类的方法定义,需要每个方法的声明第一个参数是self,表明调用这个方法的对象本身,在调用时不需要实参与之对应。
实例的创建—通过调用类的对象:
1. 定义类 — Dog
2. 创建一个实例 — dog
3. 通过实例使用或属性方法 — dog.greet()

class Dog(Object):
	def greet(self):
		print('Hi!')
#实例名.方法()来调用
dog = Dog()
dog.greet()

实例属性(Instance Attributes)
class Dog(object):
	"define Dog class"
	def setName(self,name):
		self.name = name   #dog.name() = "Snowball"
	def greet(self):
		print("Hi, I am called %s."%self.name)
if __name__ == '__main__':
	dog = Dog()
	dog.setName("Snowball") 
	dog.greet()
对象的初始化方法 __ init __ ()
  1. 当类被调用后,Python将创建实例对象
  2. 创建完对象以后,Python自动调用第一个方法为__ init __()
  3. 实例对象作为方法的第一个参数(self被传递进去,调用类创建实例对象时的参数都传给 __ init __ ()
#_init_举例
class Dog(object):
	"define Dog class"
	def __init__(self, name):
		self.name = name
	def greet(self):
		print("Hi, I am called %s."%self.name)
if __name__ == '__main__':
	dog = Dog("Snowball")
	dog.greet()
类属性(Class Attributes)
  • 类的数据属性(静态成员)
    – 仅仅是所定义的类的变量
  • 在类创建后被使用
  • 可以由类中的方法来更新,也可以在主程序中更新
  • 类属性和实例无关,修改类属性需要使用类名
class Dog(object):
    "define Dog class"
    counter = 0
    def __init__(self, name):
        self.name = name
        Dog.counter += 1
    def greet(self):
        print("Hi, I am %s, my number is %d"%(self.name, Dog.counter))
if __name__ == '__main__':
	dog = Dog("Snowball")
	dog.greet()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值