14.类与可口可乐(2)

##类与可口可乐(2)

#1.魔术方法

def __init__():

在类里定义,在创建实例时能帮助你自动的处理很多事情,比如新增实例属性

__init__()是initialize(初始化)的缩写

#Demo 1.1

class Cocacola():

    formula = ['caffine','sugar','water','soda']

    def __init__(self):

        self.local_logo = '可口可乐'

    def drink(self):

        print('Energy!')

coke = Cocacola()

print(coke.local_logo)

#>>>可口可乐'''

#Demo 1.2

class Cocacola:

    formula = ['caffine','sugar','water','soda']

    def __init__(self):

        for elementin self.formula:

            print('Coke has {}!'.format(element))

    def drink(coke): #该函数未被执行

            print('Energy!')

coke = Cocacola()

#Demo 1.3

#__init__()的说明:

#1.__init__可以拥有自己的参数

#2.__init__可以自动执行,不需要使用obj.__init__()的方式来执行

class Cocacola:

    formula = ['caffine','sugar','water','soda']

    def __init__(self,logo_name):

            self.local_logo = logo_name

            #左边是变量作为类的属性,右边是传入这个参数作为变量

            #变量的复制所存储的结果取决于初始化的时候所传进来的参数logo_name

            #传进来什么就将是什么

    def drink(self):

            print('Energy!')

coke = Cocacola('可口可乐')

print(coke.local_logo)


#2.类的继承(inheritance)

#Demo 2.1 配方的重定义

#所有子品类都会继承可口可乐的品牌--->类的继承(inheritance)

class Cocacola:

    calories =140

    sodium =45

    total_carb =39

    caffine =34

    ingredients = [

                'High Fructose Corn Syrup'

                'Carbonated Water'

                'Phosphoric Acid'

                'Natural Flavors'

                'Caramel Color'

                'Caffine'        ]

    def __init__(self,logo_name):

                self.local_logo = logo_name

    def drink(self):

                print('You got {} cal energy!'.format(self.calories))


class CaffineFree(Cocacola):

    #在新的类CaffineFree后的括号里放入Cocacola,表示这个欸继承于父类CocaCola

    #父类中的变量完全被子类继承。有改动可以进行覆盖(Override)

    caffine =0

    ingredients = [

                'High Fructose Corn Syrup'

                'Carbonatd Water'

                'Phosphoric Acid'

                'Natural Flavors'

                'Caramel Color'        ]

coke_a = CaffineFree('Cocacola-FREE')

coke_a.drink()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容