Python   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了一文让你掌握Python面向对象的编程思维大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一、类和对象

1、万物皆对象

2、对象:用来描述客观事物的一个 实体 ,由一组 属性 和 方法 构成

3、属性:对象具有的各种特征,每个对象的每个属性都有特定值

4、方法:对象执行的操作

5、类:对象的分类,分类就是认识对象的过程

很多人学习蟒蛇,不知道从何学起。

很多人学习寻找python,掌握了基本语法之后,不知道在哪里案例上手。

很多已经可能知道案例的人,却不怎么去学习更多高深的知识。

这三类人,我给大家提供一个好的学习平台,免费获取视频教程,电子书,以及课程的源代码!

QQ群:101677771

欢迎加入,一起讨论学习

 

面向对象设计的规则

1、图书类: 属性:图书编号、书名、书的作者、上架日期、借出状态

功能(方法):借出和归还

2、银行卡类: 属性:卡号、银行卡名称、密码、姓名、余额

方法:登入、存款、取款

二、面向对象创建:定义某个类的对象具有的属性(变量)和方法(函数)

一文让你掌握Python面向对象的编程思维

 

# 思路:
# 定义类 --> 人类
# 编写类的属性:姓名、年龄、id(身份证号)、手机号
# 编写类的方法:吃、喝、玩、睡、上班
class Person:
    # 编写属性(变量)
    name = "杨幂"
    age = 30
    gender = '女'

    # 我不想用指定属性,我想自己创建姓名
    def set_param(self, Name):  # age、gender一样操作
        self.name = name
        print(f'姓名:{self.namE}')  
    # 如属性很多,那就很麻烦,我们可以使用 def __init__()去构造

    # 编写方法(函数),无参
    def eat(self):
        print('eaTing')

    def drink(self):
        print('drinking')

    def play(self):
        print('playing')

    def sleep(self):
        print('sleeping')
    
    @classmethod
    def work(self):
        print('working')


# 对象的构造
ym = Person()
# 调用方法
ym.sleep()
ym.work()

zs = Person()
zs.set_param('张三')

# 类访问方法,需要添加一个装饰器@classmethod
Person.eat()
# def __init__() 去构造属性
class Person:
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    # 编写方法(函数),有参
    def eat(self, food):
        print(f'{self.namE}在吃{fooD}')

    def drink(self, sthing):
        print(f'{self.namE}在喝{sthing}')

    def play(self):
        print(f'{self.namE}在玩')

    def sleep(self):
        print(f'{self.namE}在睡觉')

    def work(self):
        print(f'{self.namE}正在工作')

    def info(self):  # 输出信息
        print("该人的信息:", self.name, self.age, self.gender)


# 构造对象输出信息
lihaoran = Person(name='李浩然', age=32, gender='男')
# 调用方法
lihaoran.info()
lihaoran.work()
lihaoran.sleep()

三、面向对象思想:封装、继承、多态

1、封装(属性私有化)

一文让你掌握Python面向对象的编程思维

 

@H_450_311@
  • 私有属性可以被查看,但是不能被修改 ---> get方法
  • 一文让你掌握Python面向对象的编程思维

     

    @H_450_311@
  • 私有属性不被外界查看,但可以被外界修改 ---> set方法】
  • 一文让你掌握Python面向对象的编程思维

     

    """封装(属性私有化)"""
    
    
    class student:
        def __init__(self, name, age, xh, id, address):
            self.name = name  # 默认公共属性(允许外界读取+修改)
            self.age = age  # 默认公共属性(允许外界读取+修改)
            self.xh = xh
            self.__id = id  # 私有属性(不允许外界读取+修改)
            self.__address = address  # 私有属性(不允许外界读取+修改)
    
        # 私有属性可以被查看,但是不能被修改  ---> get方法
        def getid(self):
            return self.__id
    
        def setaddress(self, newadress):
            self.__address = newadress
    
        def info(self):
            print('学生的基本信息:', self.name, self.age, self.xh, self.__id, self.__address)
    
    
    zhangsan = student('Tom', 18, '001', '340104555555555555', '南京')
    
    # 私有属性(不允许外界读取+修改),如果想查看get方法
    # print(zhangsan.id)  # 没有getid-->报错AttributeError: 'student' object has no attribute 'id'
    read_student_id = zhangsan.getid()
    print(f'查看张三id:{read_student_iD}')
    
    zhangsan.info()
    zhangsan.setaddress("合肥")
    zhangsan.info()
    

    2、继承、多态

    @H_450_311@
  • 继承在父类基础上构造出新的类,子类可以拥有继承**父类的属性和方法
  • @H_974_450@多态:指一个对象可以用子类的特点也可以父类的特征

    一文让你掌握Python面向对象的编程思维

     

    一文让你掌握Python面向对象的编程思维

     

    class Animal:
        def __init__(self, name, color):
            self.name = name
            self.color = color
    
        def eat(self, food):
            print(f'{self.namE}在吃{fooD}')
    
        def drink(self, sthing):
            print(f'{self.namE}在喝{sthing}')
    
        def play(self):
            print(f'{self.namE}在玩')
    
        def sleep(self):
            print(f'{self.namE}在睡觉')
    
    
    # 继承
    class Dog(Animal):
        def __init__(self, name, color, agE):
            super().__init__(name, color)  # super()调用父类对象
            self.age = age  # 属性有个性(构造属性重写)
    
        def Kaijia(self):
            print(f"{self.namE}看家")
    
    
    hashiqi = Dog('哈士奇', '黑白', 6)
    hashiqi.eat('骨头')
    
    # 多态 方法上个性(构造方法重写) 独特个性
    hashiqi.Kaijia()
    
    
    class Cat(Animal):
        def __init__(self, name, color):
            super().__init__(name, color)  # super()调用父类对象
    
    
    cat = Cat('波斯猫', 'red')
    cat.eat('鱼')
    # cat.Kaijia() 因为猫不会看家,这是狗的独特个性

    大佬总结

    以上是大佬教程为你收集整理的一文让你掌握Python面向对象的编程思维全部内容,希望文章能够帮你解决一文让你掌握Python面向对象的编程思维所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
    标签: