Python基础09 面向对象(上)

作者:玉树【林】风

转自:http://techlin.cn

欢迎转载,也请保留这段声明。

 

什么是面向对象

 

面向对象(Object Oriented,OO)是软件开发的一种方法。

想要了解更多关于面向对象的概念,建议百度百科

 

类定义

采用面向对象的开发方式,我们首先要对客观事物归类。

python类定义语法如下:

class 类名:
    类成员

紧接着,我们需要将客观事物的属性和行为进行抽象。

例如:猫咪有2只眼睛、4个脚、1个尾巴、能够吃饭、睡觉、行走。其中2只眼睛、4个脚、1个尾巴属于猫的属性,而能够吃饭、睡觉、行走属于猫的行为。那么我们可以将这些属性和行为进行封装操作。

class Cat:
    eyes = 2
    legs = 4
    tail = 1

    def eat(self):
        print('eating!')

    def sleep(self):
        print('sleeping!')

    def walk(self):
        print('walking!')

这样,我们就完成了对猫的属性和行为的封装,从而得到了一个猫类。

 

实例化

我们有了猫的类,就可以通过这个类来实例化很多的猫。

tom = Cat()
print('Tom has %d eyes' % tom.eyes) 
tom.eat()
flash = Cat()
print('Flash has %d legs' % flash.legs) 
flash.walk()
soft = Cat()
print('Soft has %d tail' % soft.tail) 
soft.sleep()

输出为

Tom has 2 eyes
eating!
Flash has 4 legs
walking!
Soft has 1 tail
sleeping!

这里,我们实例化了3只猫。并且分别查看了他们的属性和行为。

查看实例的属性:实例名.属性名

调用实例的行为:实例名.方法名()

 

我们在猫类中增加一个方法,能够在实例化时可以区分猫的品种。

class Cat:
    ...
    def __init__(self, breed):
        self.breed = breed
    ...
    

# tom是一只加菲猫
tom = Cat('加菲猫')
# flash是一只美国短毛猫
flash = Cat('美国短毛猫')
print('Tom is a %s' % tom.breed)
print('Flash is a %s' % flash.breed)

输出为

Tom is a 加菲猫
Flash is a 美国短毛猫

这里我们定义了一个__init__方法,这个方法会在类被实例化时调用。__init__方法有两个参数,分别是selfbreed。在之前定义猫类的方法中,也都有self这个参数。self参数表示类实例本身,从上面的例子中我们可以发现通过初始化方法设置的breed属性和猫类无关,只与每一个猫实例有关。并且在方法调用时不需要我们手动传入self参数,系统会自动的传入这个参数。因此在类方法的调用时,我们只要从第二个参数开始传递即可。

 

总结

今天我们学习了面向对象的相关知识。

什么是面向对象。

如何定义一个类,如何封装属性和方法。

如何实例化一个类,self参数的作用,__init__方法何时被调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值