• Python面向对象和图形用户界面(一)---- 面向对象


    1. 面向对象:

      1.1 抽象:[ 类  ===具体化===> 对象1,对象2,对象3 ]        [ 类  <====抽象==== 对象1,对象2,对象3 ]

        1.1.1 对象和类

          - 对象(实例):由数据及能对其实施的操作构成的封装体

          - 类:描述了对象的特征(数据和操作)

        1.1.2 类的定义:(object为万类之源)

            

        1.1.3 类的方法:

          

        1.1.4 实例(Instances):

             

          实例的创建:通过调用类对象

          1) 定义类 -- Dog

          2) 创建一个实例 -- dog

          3) 通过实例使用属性或方法 -- dog.greet

        1.1.5 实例属性(Instances Attributes):   

    class Dog(object):
        
        'define dog class'
        
        def setName(self, name):
            self.name = name
            
        def greet(self):
            print "Hi, I am %s." % self.name
            
    
    if __name__ == '__main__':
        dog = Dog()
        dog.setName("Paul")
        dog.greet()
    View Code

        1.1.6 对象的初始化方法 __init__()

          1) 当类被调用后,Python将创建实例对象;

          2) 创建对象以后,Python自动调用的第一个方法为__init__();

          3) 实例对象作为方法的第一个参数(self)被传递进去,调用类创建实例对象时的参数都传给__init__().

    class Dog(object):
        
        'define dog class'
        
        def __init__(self, name):
            self.name = name
            
        def greet(self):
            print "Hi, I am %s." % self.name
            
    
    if __name__ == '__main__':
        dog = Dog("Sara")
        dog.greet()
    View Code

        1.1.7 类属性(Class Attributes):

          - 类的数据属性(静态成员),仅仅是所定义的类的变量

          - 在类创建后被使用

          - 可以由类中的方法来更新,也可以在主程序中更新

          - 类属性和实例无关,修改类属性需要使用类名

    class Dog(object):
        
        'define dog class'
        
        counter = 0
        
        def __init__(self, name):
            self.name = name
            Dog.counter += 1
            
        def greet(self):
            print "Hi, I am %s, my numnber is %d" % (self.name, Dog.counter)
            
    
    if __name__ == '__main__':
        dog1 = Dog("Sara")
        dog1.greet()
        dog2 = Dog("Alex")
        dog2.greet() 
    View Code

      1.2 继承(Inheritance):

        1.2.1 父类(基类) 和 子类(派生类)

        1.2.2 子类的定义(单继承,多继承)

          

        1.2.3 子类定义举例和重载:

    class Dog(object):
        
        'define Dog class'
        
        counter = 0
        
        def __init__(self, name):
            self.name = name
            Dog.counter += 1
            
        def greet(self):
            print "Hi, I am %s, my number is %d"%(self.name, Dog.counter)
        
            
    class BarkingDog(Dog):
        
        'define subclass BarkingDog'
        
        def greet(self):
            'initial subclass'
            print "Woof! I am %s, my number is %d"%(self.name, Dog.counter)
            
            
    if __name__ == '__main__':
        dog1 = BarkingDog("Zoe")
        dog1.greet()
        dog2 = BarkingDog("Bob")
        dog2.greet()
    View Code

        1.2.4 私有属性和方法:

          1) 默认情况下,Python类的成员属性与方法都是“public”

          2) 提供“访问控制符”来限定成员函数的访问

            - 双下划线 __:__var属性会被__classname_var替换,防止父类与子类中的同名冲突

            - 单下划线_   :在属性名前使用一个单下划线字符,防止模块的属性用"from mymodule import * "来加载

  • 相关阅读:
    JAVA中对Cookie的操作
    springboot 快速开发的定制补充
    centos7 安装 mysql5.7 版本(全)
    springboot redis-cache 自动刷新缓存
    spring-data-redis-cache 使用及源码走读
    Redis 相关功能和实用命令(五)
    Redis 集群(三)
    Redis 主从,哨兵,集群实战(四)
    redis 主从复制和哨兵模式(二)
    导出 mysql 数据到 redis
  • 原文地址:https://www.cnblogs.com/wnzhong/p/6349385.html
Copyright © 2020-2023  润新知