本文向您介绍Python面向对象编程的核心概念知识点。内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。
面向对象编程的核心概念:封装,抽象,多态、继承、组合
封装:
第一个概念:在面向对象编程中,对象将变量和方法集中在一个地方,即对象本身。
第二个概念:指隐藏类的内部数据,避免客户端代码直接访问。
分类数据:
def__init__(self):
self.list1=[22,33,44,55,66]
defchang_list(self,index,num):
self.list1[index]=num
数据1=数据()
data1.list1[0]=100
打印(data1.list1)
数据2=数据()
data2.chang_list(0,100)
Print(data2.list1)
抽象:
是指剥离事物的许多特征,只保留最基本的物质的过程。在面向对象编程中,当使用类来建模对象时,将使用抽象技能。
重要bc
类动物(元类=abc。ABCMeta):
@abc.abstractmethod#抽象对象方法
defsound(self):
及格
@abc.abstractclassmethod#抽象类方法
defest 1(cls):
及格
@abc.abstractstaticmethod#抽象静态方法
灵巧2(自我):
及格
狗(动物):
defsound(self):
印刷('旺旺')
@classmethod
defest 1(cls):
打印(' classofmethod ')
@staticmethod
defest 2(:)
打印(' staticofmethod ')
狗=狗()
dog.sound()
dog.test1()
Dog.test1()
dog.test2()
dog . test 2()(
继承:
1),将公共属性和方法放入父类,只考虑唯一属性和方法。
2)重写父类的方法意味着重写父类的方法,在运行中只调用子类中重写的方法,不调用父类中的方法。
3)子类有一个父类,叫做单继承。一个子类可以有多个父类,它拥有父类的所有属性和方法。
班级学生:
定义学习(自我):
打印(“学生想学”)
defpractice(self):
打印(“学后练习”)
班级高年级(学生
):
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=owner class Persons(): def __init__(self,name): self.name=name mike=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()
关于Python面向对象编程的核心概念知识点是什么就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/112495.html