面向对象基础

面向对象基础
一.类的定义
一个类中包括:属性和方法,格式:
class 类名:(类名首字母大写)
    属性
    方法
创建一个对象,并调用对象的方法
变量名 = 类名()
变量名.方法()
实例为:
class Dog:
    def eat(self):
        print("狗在吃骨头")
dog1 = Dog()
dog1.eat
二.创建多个对象
class Dog:
    def eat(self):
        print("狗在吃骨头")
    def introduce(self):
        print("我的名字是{},我今年{}岁了".format(dog1.name,dog1.age)))
dog1 = Dog():
dog1.name = "泰迪"
dog1.age = 5
dog1.introduce()
dog2 = Dog():
dog2.name = "拉布拉多"
dog2.age = 3
dog2.introduce()
这样就创建了多个对象,但是每创建一个对象,我们都要重复给对象添加属性,所以有了下面的方法.
三,__init__
在python中遇见__(方法名)__此类称为魔法方法
__init__方法不需要手动调用,在对象初始化的时候自动调用
即给以上代码升级:
class Dog:
    def __init__(self,self.name,self.age):
        self.name = name
        self.age = age
    def introduce(self):
        print("我的名字{},我今年{}岁了!".format(self.name,self.age))
dog1 = Dog("泰迪",8)
dog1.introduce()
dog2 = Dog("拉布拉多",3)
dog2.introduce()
四.__str__ 方法:
此方法一般用户格式化输出对象内容
class Dog:
    def __init__(self,self.name,self.age):
        self.name = name
        self.age = age
    def __str__(self):
        return "我的名字是{},我今年{}岁了".format(self.name,self.age)
dog1 = Dog("泰迪",8)
dog2 = Dog("拉布拉多",3)
print(dog1)
print(dog2)
五.__del__方法:
 当对象消亡(死了)的时候,自动调用这个方法,当我们想要在对象死亡的时候做些什么事情,可以使用这个方法
class Dog:
    def __init__(self,self.name,self.age):
        self.name = name
        self.age = age
    def __str__(self):
        return "我的名字是{},我今年{}岁了".format(self.name,self.age)
          def __del__(self):
                print("{}朋友们再见了,我挂了!".format(self.name))
dog1 = Dog("泰迪",8)
dog2 = Dog("拉布拉多",3)
print(dog1)
print(dog2)
六.私有属性:
私有属性定义,在名字前面加上两个_
在Python中没有绝对的私有,其实当我们去定义私有属性的时候,会对这个属性名字去做处理
class Dog:
    def __init__(self,self.name,self.age):
        self.name = name
        self.age = age
              self.__age = age
    def __str__(self):
        return "我的名字是{},我今年{}岁了".format(self.name,self.age)
dog1 = Dog("泰迪",8)
dog2 = Dog("拉布拉多",3)
print(dog1)
print(dog2)    
七.get和set
 通过提供一个公有的方法访问私有属性或者方法,这样的话我们可以按照条件来进行访问权限的控制
class QQread:
    def __reader(self):
        print("SVIP会员阅读中")
    def get_buyyip(self,money)
        if money > 20:
            self.__reader()
        else:
            print("对不起请充值会员")
qq = QQread()
qq.get_buyvip(10)
本文主要讲述,面向对象的基础
主要理解内容为类的理解以及代码的执行顺序的理解
后面会有面向对象的升级和深入,敬请期待!!
青山不改,绿水长流.感谢阅读,我的宝子!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值