Python——面向对象的三特征

面向对象的三大特征

  1.封装

    封装是一种信息隐蔽技术让我们的数据更加安全,

      即将某些部分隐藏起来,在程序外部看不到,其含义是其他程序无法调用。

   【好处】

    1. 将变化隔离;

    2. 便于使用;

    3. 提高复用性;

    4. 提高安全性;

实例:

#其实这仅仅这是一种变形操作
#类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式:

class A:
    __N=0 #类的数据属性就应该是共享的,但是语法上是可以把类的数据属性设置成私有的如__N,会变形为_A__N
    def __init__(self):
        self.__X=10 #变形为self._A__X
    def __foo(self): #变形为_A__foo
        print(‘from A‘)
    def bar(self):
        self.__foo() #只有在类内部才可以通过__foo的形式访问到.

#A._A__N是可以访问到的,即这种操作并不是严格意义上的限制外部访问,仅仅只是一种语法意义上的变形

这种自动变形的特点:

1.类中定义的__x只能在内部使用,如self.__x,引用的就是变形的结果。

2.这种变形其实正是针对外部的变形,在外部是无法通过__x这个名字访问到的。

3.在子类定义的__x不会覆盖在父类定义的__x,因为子类中变形成了:_子类名__x,而父类中变形成了:_父类名__x,即双下滑线开头的属性在继承给子类时,子类是无法覆盖的。

  2.继承  

    继承是子类自动共享父类之间数据和方法的机制。

     python中类的继承分为:单继承和多继承

    单继承

实例:

# 父类
class A(object):
    def __init__(self):
        self.num = 10
    def print_num(self):
        print(self.num + 10)
c = A()
print(c.num)
# 子类
class B(A):
    pass
b = B()
print(b.num)
b.print_num()

    多继承

实例:

class Father():
    f_property = "白发带花君莫笑"

    def f_hobby(self):
        print("风流倜傥,英俊潇洒")

class Mother():
    m_property = "沉鱼落雁,闭月羞花"

    def m_hobby(self):
        print("岁月从不败美人")

# 多继承:在括号里面用逗号,把多个父类隔开
class Daughter(Father, Mother):
    pass

obj = Daughter()
print(obj.f_property)
obj.m_hobby()

  多态

    多态指的是一类事物有多种形态

    动物有多种形态:人,狗,猪

实例:

import abc
class Animal(metaclass=abc.ABCMeta): #同一类事物:动物
    @abc.abstractmethod
    def talk(self):
        pass

class People(Animal): #动物的形态之一:人
    def talk(self):
        print(‘say hello‘)

class Dog(Animal): #动物的形态之二:狗
    def talk(self):
        print(‘say wangwang‘)

class Pig(Animal): #动物的形态之三:猪
    def talk(self):
        print(‘say aoao‘)

实例2:请用python解释器打开

a = [1, 2, 3, 4, 5, 6]
b = list("12345")
a
# 输出[1, 2, 3, 4, 5, 6]
b
# 输出b[‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘]
a.__len__()
# 输出结果6
b.__len__()
# 输出结果5
c = "1314"
c.__len__()
# 输出结果4
len(a)
# 输出结果6

      

原文地址:https://www.cnblogs.com/jiekesi/p/11599874.html

时间: 2024-11-10 04:51:02

Python——面向对象的三特征的相关文章

python面向对象的三大特征

1.封装: 封装就是对类和对象的成员访问进行限制,设定可以访问的方式和不可以访问的方式. 分类: 私有化的封装:当前类/对象种可以使用,类/对象外和子类/对象都不可以用 受保护的封装:当前类/对象和子类/子类对象可以使用门,类/对象外不可以使用 公共的封装:任何位置都可以访问! 例: class Father: #属性 sex = '男' age = 48 #私有化封装 #标志就是在属性或者方法前加两个下划线 __wife = '肤白貌美大长腿~' #受保护的封装 #加一个下划线 _money

python——面向对象(三)

""""" 一成员修饰符 1.共有 2.私有成员,__字段名:无法直接访问,只能间接访问 私有字段是无法继承的 也就是说只在方法内部有效 即使继承了也不能调用 """ #2.字段私有与公有 class Foo: def __init__(self,name,age): self.name=name self.age = age self.__age=age #私有,外部无法直接访问 def show(self): return

python 面向对象的三大特征之 继承

#继承 #object 基类,是python定义的所有类的父类 #经典类:不继承object的类称作经典类 #新式类:继承object的类称作新式类 #python 3.x统一为新式类 #经典类是类对象,新式类是类型对象 #经典类的继承是按照继承的顺序进行继承的 #新式类是按照修改的优先级来继承,越后修改优先级就越高. class Parent:                                 #定义一个父类 def __init__(self): self.age = 0 de

python面向对象的三大特征--继承

#什么时候用继承 #1.当类之间有显著不同,并且较小的类是较大的类所需的组件时,用组合比较好 #2.当类之间有很多相同的功能,提供这些共同的功能做成基类,用继承比较好 class Dad: "这个是爸爸类" money=10 def __init__(self,name): print("爸爸") self.name=name def hit_son(self): print("%s 正在打儿子" %self.name) class Son(Da

python 面向对象的三大特征之 封装

封装:私有化 class Person(object): def __init__(self): self.__gender = "man" #在类的属性名称前面加__ self.__age = 0 def __add_age(self): #私有的方法 self.__age += 1 def show_gender(self): return self.__gender def get_up(self): print("get_up") self.__add_ag

面向对象的三个基本特征

最近找了一篇面向对象的介绍,看过后,感觉不错,浅显易懂,所以转载给大家看看!!! 面向对象的三个基本特征(讲解)面向对象的三个基本特征是:封装.继承.多态. 封装封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 继承面向对象编程 (OOP) 语言的一个主要功能就是"继承".继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情

面向对象的三个基本特征 和 五种设计原则

一.三个基本特征 面向对象的三个基本特征是:封装.继承.多态. 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 继承 面向对象编程 (OOP) 语言的一个主要功能就是"继承".继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 通过继承创建的新类称为"子类"或"

面向对象的三个基本特征(转载)

面向对象的三个基本特征(讲解) 面向对象的三个基本特征是:封装.继承.多态. 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 继承 面向对象编程 (OOP) 语言的一个主要功能就是"继承".继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 通过继承创建的新类称为"子类"

面向对象的三个基本特征(讲解)(转)

面向对象的三个基本特征是:封装.继承.多态. 封装封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 继承面向对象编程 (OOP) 语言的一个主要功能就是"继承".继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 通过继承创建的新类称为"子类"或"派生类".