博客信息

Python基础之面向对象-简介(类、对象、属性)

发布时间:『 2019-06-27 00:47』  博客类别:Python  阅读(639)

面向过程与面向对象

明确面向过程与面向对象的概念

 

经典故事:将大象放进冰箱

 

面向过程的思想:

1、将冰箱打开

2、将大象放入冰箱

3、关闭冰箱门

这种思想,关注的是完成事情的过程

 

面向对象的思想:

1、冰箱打开

2、冰箱存储大象

3、冰箱关闭

这种思想,关注的是如何找到一个对象去完成事情

类与对象

明确类与对象的概念

 

对象:保时捷、宝马、奔驰、大众

类:车

 

简单点说,对象是类的具体体现形式;

类是抽象的,将具象化的事物(对象)进行抽象描述所得来的产物

面向对象分析

先有类,后有对象

 

对象是类中具体的某一个,类中具备的特点,对象都有

 

 

面向对象:类

    Driver:

    司机类:

    类的组成:

        属性:

            姓名,工号,公司,价格

        行为:

            开车

 

    系统类:

    自定义类:

 

用面向对象的思想分析绝地求生


小李飞刀_Python


类的封装(找代驾开车)

面向对象:

    核心:

创建类的语法:

 

找代驾开车

 

class 类名():

    #属性

 

    # 行为,能力,动态特征,方法

    def 方法名(self,其他参数...):

        pass

 

    创建对象语法:

        变量名 = 类名()

 

    调用对象方法的语法:

        对象名.方法名()


class Driver():
    def drive_car(self):
        print("1、踩离合")
        print("2、打火")
        print("3、挂档")
        print("4、松离合给油")
        print("滴滴滴,一起去嗨皮")

# class Girl():
#     pass
# class Car():
#     pass
# class Plane():
#     pass
# 面向过程
# print("1、踩离合")
# print("2、打火")
# print("3、挂档")
# print("4、松离合给油")
# print("滴滴滴,一起去嗨皮")

# 面向对象
# 1.找到一个对象(创建对象)
# list1 = [1,2,3]
#创建一个对象,将对象存储到driver1中
driver1 = Driver()

# 2.让对象开车走  调用对象的方法
driver1.drive_car()


对象初始化__init__()的使用

赋属性值得两种方式

1、类实例化后再赋予属性

2类初始化就有属性

 

"""
创建对象,拥有默认属性:
__init__()方法的使用

"""
class Driver():
    #增加一个方法
    def __init__(self,id,name):
        print("我是init方法")
        # 给自己加属性
        self.id = id
        self.name = name

    def drive_car(self):
        print("工号:%d %s为您服务"%(self.id,self.name))
        print("1、踩离合")
        print("2、打火")
        print("3、挂档")
        print("4、松离合给油")
        print("滴滴滴,一起去嗨皮")
# 创建对象
driver1 = Driver(1001,'黄师傅')
# 创建完对象,然后再赋值也是可以的
# driver1.eat='榴莲'
# 2.让对象开车走  调用对象的方法
driver1.drive_car()
# print(driver1.eat)

driver2 = Driver(1002,'于师傅')
driver2.drive_car()
# print(driver2.eat)


私有属性的使用

私有属性:

        只能内部访问,外部无法访问的属性

 

    语法:  __属性名(双下划线)

 

    如果某个属性定义成了私有的:

        为属性提供对应的两个方法:

            getAge(self)

                return self.__age

            setAge(self,age)

                if

                    self.__age = age

  

class Student():
    def __init__(self,name,age,gender):
        self.name = name
        self.setAge(age)
        # self.__age = age
        self.gender = gender

    #对私有属性提供设置值以及获取值的方法
    def getAge(self):
        return self.__age
    def setAge(self,age):
        if 0 < age < 120:
            self.__age = age
        else:
            print("年龄设置范围不合理,默认为0")
            self.__age = 0
    def study(self):
        print("学习使我快乐,一天不写代码会死")
    def playGame(self):
        print("玩把游戏,嗨皮一下")
    def sleep(self):
        print("闭上眼睛就睡觉,感觉在打雷")
    def eat(self):
        print("吃饭使我快乐")
    def introduce(self):
        print("我叫:%s 性别:%s 年龄:%d"%(self.name,self.gender,self.__age))
#创建对象
stu1 = Student("胡了",1800,'男')
#获取属性值
# print(stu1.name)
# #设置值
# stu1.name = '宋行'
# print(stu1.name)
# stu1.introduce()
# stu1.age = 1000
# # stu1.age = -10
# stu1.introduce()
#私有属性无法在外部访问
# print(stu1.__age)
# stu1.setAge(30)
# print(stu1.getAge())
stu1.introduce()



over......


关键字:     Python基础       面向对象  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有