码迷,mamicode.com
首页 > 编程语言 > 详细

面向对象编程语言特征:封装、继承、多态

时间:2018-07-13 21:07:25      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:现象   提高   报错   缺陷   冲突   ack   原来   使用方法   def   

面向对象是在编程中很重要的一种编程思想,掌握了这种思想可以在很大程度上提高我们的开发效率,下面来说一下面向对象的三大特征和使用方法。

面向对象编程语言: C++、Python、Java、Swilt、C#

封装:隐藏对象的实现细节,让使用者不关心这些细节
封装中包含两种特殊的封装方法,私有属性和私有方法,这两种方法有同一种特性,
那就是私有属性或方法只能通过类中的方法调用,不可以在类的外部调用定义的私有属性否则会执行报错


#示例
class home:
def __init__(self,m):
self.__m = m

def __one(self):
prit(‘这是私有方法‘)

def tow(self):
print(self.__m)
self.__one()


h=home(‘这是私有属性‘)
h.two()


单继承:在不改变原来类的基础上既可以用原来的类又可以添加新的方法,可以用作于功能的扩展,编程中建议使用单继承 ,

不建议使用多继承,多继承在编程中有一些缺陷,在程序执行 过程中容易出现标识符(名字空间)冲突问题,所以谨慎使用多继承。

#示例
class A:
def Aname(self):
print(‘Jimmy‘)
class B(A):
def Bname(self):
print(‘Jack‘)

p = B()
p.Aname()#用B对象调用A类中的name方法 Jimmy
p.Bname()#调用B类中的name方法 Jack

 

多态:多种状态,是指由有继承、派生关系类中,调用基类的方法,实际能够调用子类的覆盖方法的现象叫做多态。
多态的调用方法与对象有关,不予类有关(python中只有动态)动态调用多个同类的对象规划为一类来统一处理,
再说的通俗一点,就是不同的对象调用相同的方法执行不同的行为就叫做多态。

#示例
class A:
def run(self):
print(‘A类的run方法‘)

class B(A):
def run(self):
print(‘B类的run方法‘)

class C(B):
def run(self):
print(‘C类的run方法‘)

def my_run(s):
s.run()


s1 = A()
s2 = B()
my_run(s1)
my_run(s2)

 

面向对象编程语言特征:封装、继承、多态

标签:现象   提高   报错   缺陷   冲突   ack   原来   使用方法   def   

原文地址:https://www.cnblogs.com/Jimmy1995/p/9307338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!