手记

Python ---面向对象

面向对象

·面向对象的思想

 a=10  int 类型的对象    str='hehe'    str()#出错不能够同时引用内置方法

第一个面向对象的语言:SamlLTalk
C语言(单纯面向过程的语言)-->c++加入面向对象的思想
--->Java 面向对象的思想革命(纯面向对象的思想)
Python :面向对象的思想

面向对象OOP:面向对象的编程object oritented programme

·对象
万物皆对象:一切客观存在的事物

1、有什么:属性2、能做什么:方法

对象:属性+方法(电脑)

对象的属性:
对象的属性可能也是一个对象

对象的方法:
对象方法的使用者又是一个对象

·客观世界是由对象组成的
1、小对象组成了大对象(小对象是大对象的属性)
2、对象彼此之间方法调用

·如何建立解题思想

例:北京---->上海---->1、找对象(怎么去):找到交通运输方式(高铁,汽车,飞机,小黄车)2、找方法(怎么做):调用交通工具(高铁)运输方法

·解决客观问题:

    1、把解决问题所需要的对象准备好    2、对象之间如何配合,完成需求

面向过程:

北京-保定-石家庄-邯郸-郑州-杭州-上海虹桥

面向对象:

北京---上海虹桥

小结:

    1、面向过程的编程思想:要把每一步细化到十分精细,只考虑过程    2、面向对象的编程思想:只需要找到合适的对象,调用合适的方法,过程是次要考虑的

客观世界由对象组成,处理问题要先找到对象,其次找到方法,对象之间需要彼此调用,
小对象组成大对象。

面向对象在计算机领域中的使用

计算机需求,来源于客观世界:
把客观世界的需求用计算机来实现

    淘宝、QQ、微信。

用计算机解决问题:同样用面向对象的思想解决,和我们的现实世界有高度统一
(生活中如何解决这个问题,计算机就这么解决)

·计算机中的对象中
在PVM虚拟机中的一块连续存储空间(数据)

创建一个学生管理系统:

1、人工:建立档案(花名册)--记录学生的信息(管理的学生)2、计算机: 建立一个档案---记录学生的信息(管理学生的对象--一块连续的存储空间)

学生:
1、姓名:name=‘小明’
2、班级:class=‘三年二班’
3、性别:sex=‘男’
4、年龄:age=‘10’
·小结
面向对象的思想,为解决生活中的问题提供了解决思路,应对复杂的需求
如何做更加合理,越接近现实生活,越合理

1、各司其职,对象应该保持简单性2、弱耦合性,对象与对象之间的关系,联系尽量弱化3、可重复性,创建的对象如果下一次拿过来可以直接使用print()4、可扩展性,在原有功能基础之上增加新的功能

OOP
面向对象的编程 object oriented programing

    1、面向对象的语法正确    2、拥有面向对象的思想

1、类是对象共性的抽象
2、类是客观对象在人脑中的主观反应,人对对象的一种认识
3、类是对象的模板(通过类取创建对象)

·如何编写一个类

先定义属性,方法

关键字:classclass类名:属性:变量 类变量(全局变量)方法:函数class Student:name=Nonesquad=Nonesex=Noneage=Nonedef learn(self):    print ('Student should learn hard')def doHomeWork(self):    print ('Student should do homework')s=Student()s.name='Tome's.age='10's.squad='class 3 grade 4's.sex='male's.learn()#Student should learn hards.doHomeWork()#Student should do homeworkprint s.name#Tomeprint s.age#10print s.squad#class 3 grade 4print s.sex#male

·方法

1、方法的声明(能做什么):
2、方法的实现()
def 方法名(self,[其他参数]):

3、self

    class Student:            name=None            squad=None            sex=None            age=None            def doHomeWork(self):                    print ('Student should do homework')            def jiSuan(self,a,b):                    return a+b        s2=Student()        s2.doHomeWork()#Student should do homework        s2.jiSuan(1,2)#3    1、在调用时候自动传递,不需要人为处理指代当前对象    2、self.属性 用来区分类变量和局部变量     3、方法只能在创建对象后使用

1、init(self):  前面两个下划线后面两个下划线

class Student:         name=None         squad=None         sex=None         def __init__(self):                    print 'this is constructor fuction's=Student()#this is constructor fuction  显示错误在创建对象的时候自动调用,不需要手工调用创建对象也称为实例化对象,创建出来的对象也称为实例2、__init__(self,param1,param2):         class Student:         name=None         squad=None         sex=None         def __init__(self,a,b):                            print  '%d +%d=%d'%(a,b,a+b)        s=Student(3,4)#3 +4=7这样才贵

构造方法
构造方法中也可以有参数,和普通方法有很多的类似之处

3、如果一个类中没有写任何构造方法,则就会默认调用父类的构造方法4、类中可以定义多个构造方法,但是只会以最后一个构造方法为标准。(前面的构造方法被后面的覆盖了)    class Student:                def __init__(self,name,squad,sex,age):                        self.name=name                        self.squad=squad                        self.sex=sex                        self.age=age    s=Student('Thomas','Class3 Grade5','male','16')    print s.name#Thomas    print s.age#16    print s.squad#Class3 Grade55、构造方法在开发中常常来给属性赋值6、构造方法可以有return语句,但是只能返回None7、构造方法还可以在return语句后调用方法(构造方法,普通方法)    class Student:               def learn(self):                        print ('Student should learn hard')                def __init__(self,name,squad,sex,age):                        self.name=name                        self.squad=squad                        self.sex=sex                        self.age=age                        return self.learn()    s=Student('hehe','heh','hehe','hehe')#Student should learn hard

0人推荐
随时随地看视频
慕课网APP