对象、类、封装、多态

  1、对象=属性+方法(函数)。静态的特征称为属性,动态的动作称之为方法。

  2、类:类的首写字母约定大写,用类来创建真正的对象。

  3、封装,对外部隐藏对象工作的细节;继承,子类自动共享父类的数据和方法;多态,可以对不同类的对象调用相同的方法。

  4、方法和函数的区别:众说纷纭:比较可靠的说法,最大的区别是参数的传递参数,方法是自动传参self,函数是主动传参

 

class Foo(object):

    def func(self):
        pass

#实例化
obj = Foo()

# 执行方式一:调用的func是方法
obj.func() #func 方法

# 执行方式二:调用的func是函数
Foo.func(123) # 函数

  5、多态:不同对象对同一方法的不同响应行动。

  6、继承:

  语法:class 子类名称(父类名称):

       .......

class Parent():
    def hello(self):
        print('正在调用父类')

class Child(Parent):
    pass

p = Parent()
p.hello()
c = Child()
c.hello()
#运行结果:

正在调用父类
正在调用父类

 

  注意:1、如果子类中定义与父类同名的方法或者属性,则会自动覆盖父类对应的方法和属性。

     当覆盖了父类的方法或属性时,如果子类又需要父类的相应方法和属性,有两种解决方法:1)调用未绑定的父类方法:2)使用super()函数。推荐使用方法二,因为一个super()可以解决所有父类、父父类中被覆盖的方法。

方法1): 方法2)

     2、貌似不存在java中父类不实例化子类就无法实例化的原则。

     3、多重继承,pytho支持多重继承。但是为了避免代码混乱,一般尽量不使用多种继承。

     多重继承语法:

 

转载于:https://www.cnblogs.com/Chris-01/p/10306334.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值