美文网首页程序员python_pycham
遇见Python(二):面向对象

遇见Python(二):面向对象

作者: 付十一v | 来源:发表于2019-03-01 18:19 被阅读49次

一、类

创建类:

 class Person():
       pass

创建实例:

variable = Person()

给实例绑定属性,例如绑定name和age:

   def __init__(self,name,age):
        self.name = name
        self.age = age

案例

class Person():
    def __init__(self,name,age):
        self.name = name
        self.age = age
ba = Person('python',10)
print(ba.name,ba.age)

在类中封装方法:
添加一个打印的方法printPerson(self)

class Person():
    def __init__(self,name,age):
        self.name = name
        self.age = age
ba = Person('python',10)

def printPerson(self):
    print(self.name,self.age)

调用该方法

printPerson(ba)

二、私有变量

Python中,在变量前加上两个下划线__,即私有变量,相当于Java中private。如下把name设置为私有,age不变,则name外部不可直接访问。

 def __init__(self,name,age):
        self.__name = name
        self.age = age

外部如需获取私有变量__name,可在Person类中定义get_name()方法,相当于Java中的get方法如:

class Person():
    def __init__(self,name,age):
        self.__name = name
        self.age = age
#get方法
    def get_name(self):
        return self.__name
ba = Person('python',10)
print(ba.get_name())

外部如需修改私有变量__name,同样可在类中定义set_name()方法,相当于java中的set方法,可以看到以下代码,初始化变量ba的name = python,将ba.set_name = java,最后打印出的结果name值为”java“,如:

class Person():
    def __init__(self,name,age):
        self.__name = name
        self.age = age
#get方法
    def get_name(self):
        return self.__name
#set方法
    def set_name(self,name):
        self.__name = name

ba = Person("python",1)
ba.set_name("java")
print(ba.get_name())

三、继承

继承是指子类继承父类的特征和行为,如有 父类Animal,子类Cat,Cat继承Animal:
Java版

class Cat extends Animal{
}

Python版

class Cat(Animal):

四、多态

Python中继承与多态的思想与Java的并无两样。
多态是指同一个行为具有多个不同表现形式或形态的能力。

相关文章

  • 遇见Python(二):面向对象

    一、类 创建类: 创建实例: 给实例绑定属性,例如绑定name和age: 案例 在类中封装方法:添加一个打印的方法...

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

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

  • Python 面向对象编程

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

  • python基础-02

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

  • 王艳华Pythonday03

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

  • Python OOP-1

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

  • Python notes(3/3)

    目录 一,Python 面向对象 二,Python 正则表达式 三,Python CGI编程 四,Python 操...

  • python面向对象(二)

    元类 python中,对象是由元类创建的,类也是一种对象,也就是说元类就是‘类的类’eg、电脑中的cpu、内存等等...

  • 营销比赛二三事

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

  • Python进阶1

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

网友评论

    本文标题:遇见Python(二):面向对象

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