面向对象之继承
Posted 太過せ天鎮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象之继承相关的知识,希望对你有一定的参考价值。
类:具有相同属性和方法的一类事物
对象(实例):具体的某一个人事物
实例化:对象=类的过程
类的定义:class关键字 ,类名首字母大写
类中的属性:
动态属性:方法
静态属性:类属性
总结:
通过init方法初始化来的
在一个类的外面去使用一个对象,这个对象叫什么,你就用这个对象的名字去调它内部的方法和属性
而在一个类的内部去使用一个对象,self就是这个对象本身,使用self去调用它的属性
静态属性(类属性):所有的对象共有的属性,可以直接被类调用
对象属性: 是只属于某一个对象的,必须在实例化之后用对象调用
动态属性:调用方法,方法
调用方法:
对象点方法名
不必传的参数:self
当类实例化的时候:自动的触发__init__方法。实例化的时候类名(参数),这个参数传给init方法
class 类名: def __init__(self,参数1,参数2): self.对象的属性1 = 参数1 self.对象的属性2 = 参数2 def 方法名(self):pass def 方法名2(self):pass 对象名 = 类名(1,2) #对象就是实例,代表一个具体的东西 #类名() : 类名+括号就是实例化一个类,相当于调用了__init__方法 #括号里传参数,参数不需要传self,其他与init中的形参一一对应 #结果返回一个对象 对象名.对象的属性1 #查看对象的属性,直接用 对象名.属性名 即可 对象名.方法名() #调用类中的方法,直接用 对象名.方法名() 即可
继承是类中提供的一种新语法
面向对象的三大特性:封装、继承、多态
继承:什么是什么的关系
类如:他大舅他二舅都是他舅,高桌子低板凳都是木头。
在继承中:
子类可以继承父类的所有属性和方法,但是,当父类和子类中有同名方法的时候,一定是调用子类的,如果想使用父类该方法的功能,需要借助super方法。
对象:可以调用自己本类和父类的所有方法和属性,先调用自己的,自己没有才调父类的
谁(对象)调用方法,方法中的self就指向谁
super方法:
class Animal:
def __init__(self,name,blood,aggr):
self.name = name
self.blood = blood
self.aggr = aggr
class Person(Animal):
def __init__(self,name,blood,aggr,RMB):
super(Person,self).__init__(name,blood,aggr)
self.money = RMB
def attack(self,dog):
dog.blood -= self.aggr
class Dog(Animal):
def __init__(self,name,blood,aggr,varieties):
super().__init__(name,blood,aggr)
self.breed = varieties
def bite(self,person):
person.blood -= self.aggr
alex = Person(‘alex‘,250,12,1000000)
egg = Dog(‘egg‘,25000,20,‘金毛‘)
以上是关于面向对象之继承的主要内容,如果未能解决你的问题,请参考以下文章