博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python面向对象和图形用户界面(一)---- 面向对象
阅读量:5283 次
发布时间:2019-06-14

本文共 2518 字,大约阅读时间需要 8 分钟。

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 * "来加载

 

转载于:https://www.cnblogs.com/wnzhong/p/6349385.html

你可能感兴趣的文章
C#-WinForm-设计时编程【4】-响应鼠标事件
查看>>
深入Nginx
查看>>
[LeetCode] Reverse Linked List II
查看>>
ping不通的常见原因和解决办法
查看>>
AIX下绑定双网卡
查看>>
[POJ1113&POJ1696]凸包卷包裹算法和Graham扫描法应用各一例
查看>>
使用Java提供的MXBean来监控jvm创建了哪些线程
查看>>
busy monkey
查看>>
gcc 使用注意事项
查看>>
Tomcat启动时项目重复加载问题
查看>>
判断当前时间是否在一个时间段范围内
查看>>
《软件需求模式》阅读笔记02
查看>>
感知机
查看>>
php后门隐藏技巧
查看>>
SpringBoot使用Gradle构建war包
查看>>
Python基础学习(四)
查看>>
ref out
查看>>
Sklearn-CrossValidation交叉验证
查看>>
免费顶级域名注册
查看>>
[Leetcode] Word Ladder I,II
查看>>