Python类中的"私有字段"和"私有属性"

@staticmethod
def Forward():
    print u'开始向前进'#coding:utf-8

class Car:
    # 下面是静态字段
    memo = u'车辆具有出厂合格证'
    
    def __init__(self, brand, model, speed, price):
        # 下面是动态字段
        self.Brand = brand
        self.Model = model
        self.Speed = speed
        self.Price = price
        self.__EngineType = 'V12'
        
    # 下面是动态方法
    def Turnleft(self):
        print self.Brand + u'开始向右转向。'
    
    # 这是静态方法
    @staticmethod
    def Forward():
        print u'开始向前进'
    
    # 创建一个"公有方法",在方法中,去调用"私有字段"
    def ShowEngine(self):
        print self.__EngineType
    
    # 创建一个"私有方法",试试在外部是否能够对其进行访问
    def __SpeedUp(self):
        print self.Model + " is speed up!"
    
    # 创建一个"公有方法",在方法中,去调用"私有方法",然后在外部调用这个"公有方法",看看是否能够间接访问"私有方法"
    def PubSpeedUp(self):
        self.__SpeedUp()

jordan_car = Car('BMW', 'X1', 230, 35)

"""
这里的'EngineType'是"私有动态字段",原则上是不能够被外部调用,但是可以使用    '对象名' + '.' + '_' + '类名' + '__' + '私有字段'  进行调用
"""
# print jordan_car._Car__EngineType

"""
如果不使用上面的强制方法去访问"私有字段",那么有一种间接访问的方式,就是在"类"中,定义一个"公有方法",用这个方法去调用"私有字段",也可以达到相同的效果
"""
#jordan_car.ShowEngine()

jordan_car.PubSpeedUp()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值