zoukankan      html  css  js  c++  java
  • 面向对象之继承

    类:具有相同属性和方法的一类事物

    对象(实例):具体的某一个人事物

    实例化:对象=类的过程

    类的定义: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,'金毛')

      






















  • 相关阅读:
    IOS笔记-C语言中的字符串数组 指针
    IOS笔记-C语言中的指针与数组
    Entity Framework 知识点总结
    提升代码内外部质量的22条经验(转载)
    WPF 第一个创建的窗体会作为Application.Current.MainWindow
    重构的十个小技巧(转)
    WPF DataGrid自定义分页控件_实现下拉刷新数据
    使用qt生成安卓android运用
    关于开发省流量手机游戏的一些建议
    c++ com 在c#项目里面使用简单例子
  • 原文地址:https://www.cnblogs.com/sunxiansheng/p/7545800.html
Copyright © 2011-2022 走看看