zoukankan      html  css  js  c++  java
  • 二十. Python基础(20)--面向对象的基础

    二十. Python基础(20)--面向对象的基础

    1 ● 类/对象/实例化

    :具有相同属性、和方法的一类人//

    对象(实例): 具体的某一个人//

    实例化: 用类创建对象的过程类名(参数) # 这个参数传给__init__方法

    类的的定义 class关键字 类名(首字母大写)

     

    2 ● 面相对象方法在什么时候用?

    需要反复传递相同的参数给一些函数的时候

    例如一个长方形的长/宽作为参数反复传递给计算面积/周长/对角线的函数

     

    3 ● 属性

    类中的属性:

        #静态属性:类属性

        #动态属性:方法

    对象的属性:

        # __init__()方法初始化而来

        # 在类内调用对象的属性:self.属性名

        # 在类外调用对象的属性:对象名.属性名

     

    4 ● 案例: 人狗大战

    class Person:

        role = 'person'     #静态属性/类属性: 所有对象共有的属性,可以直接被类调用

        def __init__(self,name,sex,aggressive=200):

            #对象属性: 只属于某一个对象, 必须在实例化之后才能被对象调用

            self.name = name            #名字

            self.sex = sex             #性别

            self.aggr = aggressive     #攻击力

            self.blood = 2000         #

     

        def attack(self,dog): #类里面所有的方法本质上都是函数,拥有一个必须传递的参数self

            print('%s attack %s'%(self.name,dog.name))

            dog.blood -= self.aggr

     

    class Dog:

        def __init__(self,name,aggressive=500):

            self.name = name

            self.aggr = aggressive

            self.blood = 8000

     

        def bite(self,person):

            print('%s bites %s'%(self.name,person.name))

            person.blood = person.blood - self.aggr

            if person.blood <= 0:

                print('game over %s'%person.name)

     

    alex = Person('alex','male',250)

    egon = Person('egon','male')

    teddy = Dog('Mica')

    teddy.bite(alex)

    print(alex.blood)

    teddy.bite(alex)

    print(alex.blood)

     

    '''

    Mica bites alex

    1500

    Mica bites alex

    1000

    '''

     

  • 相关阅读:
    jQuery-1.9.1源码分析系列(十六)ajax——ajax框架
    js基础篇——encodeURI 和encodeURIComponent
    apache分析之三、配置文件解析
    apache分析之二、post-commit后台运行
    apache分析之一、svn:Could not open the requested SVN filesystem
    从例子看git的内部实现
    stl中容器的end指向哪里
    使用dependency walker定位windows下程序启动失败原因
    lvs中的保活、persistent及DR
    当磁盘空间满之后,为什么文件依然可以被创建
  • 原文地址:https://www.cnblogs.com/ArrozZhu/p/8393755.html
Copyright © 2011-2022 走看看