类,是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。

 

面向对象程序设计三个基本特征:

1.封装,是面向对象编程的核心思想,将对象的属性和行为封装起来,其载体就是类,类通常会对用户隐藏其实现细节,这就是封装思想。

2.继承,是实现重复利用的重要的手段,子类通过继承复用了父类的属性和行为的同时,又添加了子类特有的属性和行为。

3.多态,将父类对象应用于子类的特征就是多态。子类继承父类特征的同时,也具备了自己的特征,且能够实现不同的效果。

魔术方法 __init()__

class People:
    '''人类'''
    def __init__(self): # 构造方法
        print("我是人类!")

Taotao = People()
'''
输出以下内容:
我是人类!
'''

创建实例方法并访问

class People:
    '''人类'''
    def __init__(self): # 构造方法
        print("我是人类!")
    def Run(self, count):
        print("我能跳", count, "次")

Taotao = People()  # 创建实例
Taotao.Run(10)
'''
输出以下内容:
我是人类!
我能跳 10 次
'''

创建数据成员并访问

'''
创建数据成员并访问   类属性
Created by Taotao  on 20200626
'''
class People:
    '''人类'''
    height = "10m"
    def __init__(self): # 构造方法
        print("我是人类!")
    def Run(self, count):
        print("我能跳", count, "次")

Taotao = People()  # 创建实例
Taotao.Run(10)
print(People.height)
print(Taotao.height)
'''
输出以下内容:
我是人类!
我能跳 10 次
10m
10m
'''
'''
创建数据成员并访问   实例属性
Created by Taotao  on 20200626
'''
class People:
    '''人类'''
    height = "10m"
    def __init__(self): # 构造方法
        self.sing = "我会唱歌!"  #定义实例属性
        print("我是人类!")
    def Run(self, count):
        print("我能跳", count, "次")

Taotao = People()  # 创建实例
Taotao.Run(10)
print(People.height)
print(Taotao.height)
print(Taotao.sing)  # 实例属性只能通过实例名字访问



'''
输出以下内容:
我是人类!
我能跳 10 次
10m
10m
我会唱歌!
'''

访问限制

1.__too__:收尾双下划线表示定义特殊方法,一般是系统定义名字,如__init__();

2._too:以单下划线开头的表示protected(保护)类型的成员,只允许类本身和子类进行访问,但不能使用“from module import *”语句导入;

3.__foo:双下划线表示private(私有)类型的成员,只允许定义该方法的类本身进行访问,而且也不能通过类的实例进行访问,但是可以通过“类的实例名.类名__xxx”方式访问。

'''
类成员(属性或方法)访问限制
Created by Taotao  on 20200626
'''
class People:
    '''人类'''
    _height = "10m" #定义私有属性 单引号 protected
    def __init__(self): # 构造方法
        print("我的身高是:", People._height)
    def _Run(self, counts):  # 定义私有属性 单引号 protected
        print("我能跳", counts, "次")

Taotao = People()  # 创建实例
print("属性直接访问", Taotao._height)   # 保护属性可以通过实例名访问
print("方法直接访问", Taotao._Run(10))   # 保护方法可以通过实例名访问

'''
输出以下内容:
我的身高是: 10m
属性直接访问 10m
我能跳 10 次
方法直接访问 None
'''
'''
类成员(属性或方法)访问限制
Created by Taotao  on 20200626
'''
class People:
    '''人类'''
    __height = "10m" #定义私有属性 双引号 私有 private
    def __init__(self): # 构造方法
        print("我的身高是:", People.__height)
    def __Run(self, counts):  # 定义私有属性 双引号  私有private
        print("我能跳", counts, "次")

Taotao = People()  # 创建实例
print("属性直接访问", Taotao._People__height)   # 私有属性可以通过“实例名._类名__xxx”访问
print("方法直接访问", Taotao._People__Run(10))   # 私有方法可以通过“实例名._方法名__xxx”访问

'''
输出以下内容:
我的身高是: 10m
属性直接访问 10m
我能跳 10 次
方法直接访问 None
'''

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值