美文网首页
[Python]关于面向对象(上)

[Python]关于面向对象(上)

作者: 岁月神偷_bde8 | 来源:发表于2017-09-05 20:43 被阅读0次

1.什么是面向对象?特征是什么?

面向对象是一种编程思路,是一种软件开发的方法。面向对象有三大特征:⑴封装 ⑵继承 ⑶多态

2.面向对象和面向过程的区别是什么?各自的优缺点是什么?

面向过程是分析出解决问题所需要的所有步骤,然后用函数把这些步骤一步步的实现,使用的时候在一个一个依次调用就可以了。

面向对象是把构成问题的事务分为不同的对象,建立对象的目的不是为了完成某个步骤,而是为了描述某个或某些函数在解决问题的步骤中的行为。

面向对象是以功能来划分问题,而不是根据步骤划分。

所以面向过程的优点是性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点是没有面向对象易维护、易复用、易扩展。面向对象的优点是易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。缺点是性能比面向过程低。

3.对象是什么?类又是什么?两者有什么关系?

对象:

对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机都可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件等。

类:

具有相同特性的(数据元素)和行为(功能)的对象的抽象就是类。比如”人“、”飞机“、”鸟“

等,这些就是抽象的类,当他们具体到某个人,某架飞机和某只鸟时,就会有具体的人名,机架号,鸟名。

关系:

对象的抽象是类,类的具体化就是对象。也可以说类的实例就是对象,类实际上就是一种数据类型,它用数据结构来描述类的属性。

4.怎么定义一个类?

a)类一般有几个组成部分:类型名称、属性、方法

b)通过class关键字,来定义一个自定义类型

c)通过__init__()函数,来初始化类的属性数据

d)通过普通函数,定义类的行为方法

5.怎么创建一个对象?

a)和执行函数一样,直接通过类的名称,来创建对象,如:u =Users()

6.创建的对象,怎么使用对象的属性?

a)对象的属性,可以直接通过对象的引用变量.属性名称来使用,如u.username

7.创建的对象,怎么使用对象的方法?

a)对象的方法,可以直接通过对象的引用变量.方法名称()来调用方法

8.创建对象的过程是什么?

a)首先,创建对象,会调用对象的__new__()函数,来申请内存,创建对象(过程中是如此,但程序中通通常不用写__new__()函数)

b)其次,给创建好的对象,初始化对象的数据,自动调用__init__()函数,给对象的属性赋值

9.创建好的对象,赋值给了一个变量,变量是什么类型?存放的是什么数据?

a)变量=类名称()创建了一个对象,将对象的引用地址((在内存中的地址),赋值给了变量

b)变量(内存地址)-->堆内存中的对象

c)type(变量) -->类类型

相关文章

  • [Python]关于面向对象(上)

    1.什么是面向对象?特征是什么? 面向对象是一种编程思路,是一种软件开发的方法。面向对象有三大特征:⑴封装 ⑵继承...

  • python面向对象学习笔记-01

    学习笔记 # 0,OOP-Python面向对象 - Python的面向对象 - 面向对象编程 - 基础 -...

  • Python 面向对象编程

    Python 面向对象编程(一) Python 面向对象编程(一) 虽然Python是解释性语言,但是它是面向对象...

  • python面向对象(上)

    面向对象(上) 1.什么是面向对象? 面向对象是一种编程思想,就是一种解决问题的思路,将项目中不同的数据封装成类型...

  • 关于python面向对象

    1,什么是面对对象 首先要知道面对对象是一种思想。 操作难点不在于语法,而在于分析! 面向对象: 面向对象是更大的...

  • python基础-02

    Python 面向对象 python是一门面向对象的语言 Python内置类属性 python对象销毁(垃圾回收)...

  • 王艳华Pythonday03

    Python的面向对象 Java 面向对象 继承

  • Python OOP-1

    0. OOP-Python面向对象 Python面向对象 面向对象编程基础公有私有继承组合,Mixin 魔法函数魔...

  • 营销比赛二三事

    Python面向对象编程三大特性调研 Python面向对象之封装 在Python中,没有类似 private 之类...

  • Python进阶1

    Python中一切皆对象 引言 Java语言也是面向对象的语言,但是Python要更加彻底 Python的面向对象...

网友评论

      本文标题:[Python]关于面向对象(上)

      本文链接:https://www.haomeiwen.com/subject/mfypjxtx.html