Python 面向对象编程的核心概念知识点简介

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

以下文章来源于 无量测试之道 ,作者: 无量测试之道

面向对象编程的核心概念:封装,抽象,多态、继承、组合

封装:

第一个概念:在面向对象编程中,对象将变量和方法集中在一个地方,即对象本身。

第二个概念:指的是隐藏类的内部数据,避免客户端代码直接进行访问。

class Data:    def __init__(self):        self.list1=[22,33,44,55,66]    def chang_list(self,index,num):        self.list1[index]=numdata1=Data()data1.list1[0]=100print(data1.list1)data2=Data()data2.chang_list(0,100)print(data2.list1)

抽象:

它是指剥离事物的诸多特性,使其只保留最基本的物质的过程。在面向对象编程中,使用类进行对象建模时就会用到抽象的技巧。

import abcclass Animal(metaclass=abc.ABCMeta):    @abc.abstractmethod #抽象的对象方法    def sound(self):        pass    @abc.abstractclassmethod#抽象的类方法    def test1(cls):        pass    @abc.abstractstaticmethod#抽象的静态方法    def test2(self):        passclass Dog(Animal):    def sound(self):        print("wang wang")    @classmethod    def test1(cls):        print("class of method")    @staticmethod    def test2():        print("static of method")dog=Dog()dog.sound()dog.test1()Dog.test1()dog.test2()Dog.test2()

继承:

1)、将公共的属性和方法放到父类中,自己只考虑特有的属性和方法。

2)、覆盖父类的方法即重写父类方法,在运行中只会调用子类中重写的方法不用调用父类中的方法。

3)、子类拥有一个父类叫作单继承,子类可以拥有多个父类,并且具有所有父类的属性和方法。

class Student:    def study(self):        print("学生要学习")    def practice(self):        print("学习完成要练习")class HighStudent(Student):    def study_compute(self):        print("高中同学还要学习计算机")hs=HighStudent()hs.study()hs.practice()hs.study_compute()

多态:

1)、指的是为不同的基础形态(数据类型)提供着接口的能力,接口指的是函数和方法。

2)、顾名思义,多态就是多种表现形态的意思,它是一种机制,一种能力,而非某个关键词。它在类的继承中得以实现,在类的方法调用中得以体现。

3)、多态意味着变量并不知道引用的对象是什么,根据引用对象的不同表现不同的行为方式。

4)、多态以封装和继承为前提,不同的子类对象调用相同的方法,产生不同的执行效果。它可以增加代码的灵活度,以继承和重写父类的方法为前提,调用方法不会影响到类的内部设计

class Animals(object):    def __init__(self,name):        self.name=name    def eat(self):        print(self.name+" is eating")class Cat(Animals):    def __init__(self,name):        super(Cat, self).__init__(name)class Pig(Animals):    def __init__(self,name):        super(Pig, self).__init__(name)class Person():    def feedAnimal(self,animal):        animal.eat()cat=Cat("tom")pig=Pig("peiqi")tony=Person()tony.feedAnimal(cat)tony.feedAnimal(pig)

组合:

1)、通过组合技巧将一个对象作用变量保存在另一个对象中,可以模拟拥有关系。

2)、它是一种将对象或类组合成更复杂的数据结构或构件实现的方法。

3)、在组合中,一个对象可用于调用其他模块中的成员函数,这样一来,无需通过继承就可以实现基本功能的跨模块调用。

class Monkey():    def __init__(self,name,owner):        self.name=name        self.owner=ownerclass Persons():    def __init__(self,name):        self.name=namemike=Persons("mike")mickMouse=Monkey("goldeMonkey",mike)print(mickMouse.owner.name)class A(object):    def a1(self):        print("a1")class B(object):    def b1(self):        print("b1")        A().a1()bb=B()bb.b1()

总结:

今天和大家分享的是面向对象编程的核心概念:封装,抽象,多态、继承、组合,可以结合代码示例本地去运行着感受这些概念的含义。

(0)

相关推荐

  • Python面向对象

    面向对象编程是一种程序设计思想,它把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程与面向对象区别: 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为 ...

  • Python 面向对象编程(一)

    虽然Python是解释性语言,但是它是面向对象的,能够进行对象编程.下面就来了解一下如何在Python中进行对象编程. 一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类 ...

  • Python面向对象编程(二)

    在前面一篇文章中谈到了类的基本定义和使用方法,这只体现了面向对象编程的三大特点之一:封装.下面就来了解一下另外两大特征:继承和多态. 在Python中,如果需要的话,可以让一个类去继承一个类,被继承的 ...

  • Python面向对象编程

    https://m.toutiao.com/is/dmnvNk6/?=Python面向对象编程 面向对象编程 到目前为止,我们已经使用函数.模块来操作我们的数据.这叫做 面向过程 的方式进行编程.然而 ...

  • 一文看懂Python面向对象编程(Python学习与新手入门必看)-绝对原创

    尽管网上有许多关于Python面向对像的编程介绍,小编我看完后总觉得不是很满意,也不过瘾,所以决定自己亲自动手写篇文章,帮你理解Python面向对象的编程的基本概念和核心思想.本文内含很多实例代码,以 ...

  • Python教程:面向对象编程的一些知识点总结

    类与实例 类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象的具体信息. 类.属性和方法命名规范 类名通常由大写字母打头.这是标准惯例,可以帮助你识别类,特别是在实例 ...

  • 最全 14 张思维导图:教你构建 Python 编程的核心知识体系!

    源 /Python学习联盟 本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库). 按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集 ...

  • 一文搞懂Python中的核心概念:导入,模块,包

    前言 Python作为一个解释器,一个程序,如果不导入任何外部模块或包,就做不了什么.理解Python如何导入模块和包将在几乎所有的场景中都很有帮助. 本文中的所有代码都是在Linux(Ubuntu) ...

  • 【Python进阶】实战Python面向对象基本编程

    欢迎来到专栏<Python进阶>.在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件.数据的处理,Python各种好用的库如NumPy.Scipy.Matplotl ...

  • 干货 | 高中生物三年知识点核心概念梳理,纯干货快收藏!

     写在最后  今天,也要加油!继续努力 点亮[在看] ,散发属于自己的光芒. 学习工具 标签:北京高中  物理干货 做题技巧 关注:"北京高中"公众号,ID:bjgz1000 回复 ...