【Python 教程】51_面向对象编程概念

    面向对象(Object Oriented)设计思想贯穿程序设计,面向对象编程(Object Oriented Programming)是针对大型软件设计提出的,它能使代码更好滴复用,使程序更加的灵活。对象 是一个抽象的概念,万事万物皆可对象。对象通常可划分为两个部分,静态部分动态部分 ;【静态部分】称之为 属性,【动态部分】称之为 == 方法== 。
    面向对象编程中,将函数和变量进一步封装成类,类才是程序的基本元素,它将数据和操作紧密连接,并保护数据不被外界意外改变。
GitHub代码commits id:70eb1f2


    面向对象中常用术语:

(1)类(class):用来描述具有相同属性和方法的对象集合,定义了该集合中每个对象所共有的属性和方法,其中对象被称为类的实例;
(2)实例:也称对象,通过类定义的初始化方法赋予具体的值;
(3)实例化:创建类的实例的过程;
(4)实例变量:定义在实例中的变量,只作用于当前实例;
(5)类变量:类变量是所有实例公有的变量。类变量定义在类中,但在方法体之外;
(6)数据成员:类变量、实例变量、方法、类方法、静态方法和属性等的统称;
(7)方法:类中定义的函数;
(8)静态方法:不需要实例化就可以有类执行的方法;
(9)类方法:类方法是将类本身作为对象进行操作的方法;
(10)方法重写:从父类继承的方法不能满足子类的需求,可以对父类的方法进行重写;
(11)继承:一个派生类继承父类的变量和方法;
(12)多态:根据对象类型的不同以不同的方式进行处理


# 1. 类
class OOPObject(object):
    # 5.类变量:定义在类中,方法之外的变量
    phone = 123456789
    address = "memory"

    # __init__方法的类在实例化的时候,会自动调用该方法,并传递对应的参数
    def __init__(self, name, age):
        # 4.实例变量,name 和 age就是实例变量
        self.name = name
        self.age = age

    # 7.实例方法
    def o_method(self):
        print("{0}:{1}".format(self.name, self.age))

    # 8.静态方法:不需要实例化就可以有类执行的方法
    @staticmethod
    def static_method():
        print("我是静态方法")

    # 9.类方法:类方法是将类本身作为对象进行操作的方法
    # 采用@classmethod装饰,至少传入一个cls(指类本身,类似于self)参数。
    # 执行类方法时,自动将调用该方法的类赋值给cls。
    # 使用类名.类方法的调用方式(也可以使用实例名.类方法的方式调用)
    @classmethod
    def class_method(cls):
        print("我是类方法")


# 2.实例
# 3.实例化---这个过程
o1 = OOPObject("oj", 23)
# 实例方法的调用
o1.o_method()


# (6)数据成员:类变量、实例变量、方法、类方法、静态方法和属性等的统称

# 静态方法的调用
OOPObject.static_method()


# 类方法
OOPObject.class_method()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值