面向对象编程 && Python3
-
Python面向对象编程区别于Java面向对象编程的小细节。
-
python3面向对象编程的具体资料可以通过如下链接查看,并且该文档的质量相当较高。(http://www.runoob.com/python3/python3-class.html)
-
若是有一天忘记了,可以回顾查看一下代码示例帮助回顾!
成员变量 && 成员方法
- 标准的class类定义,成员变量,成员方法定义且使用如下所示:
class Animal:
def __init__(self, name, age):
""""成员变量定义"""
self.animal_name = name
self.animal_age = age
def to_string(self):
""""成员方法定义"""
print("动物的名字叫做:%s, 动物的年龄为:%d"
% (self.animal_name,self.animal_age))
animal = Animal("Tom", 5)
"""以类似于java的toString方法进行比较。"""
animal.to_string()
运行结果为:动物的名字叫做:Tom, 动物的年龄为:5
。
- 很显然由于python不需要对变量进行数据类型声明就可以使用的特性,完全可以在外部添加成员变量,或者叫做为类进行属性的添加,比如:
animal = Animal("John", 3)
animal.address = "北京"
"""以类似于java的toString方法进行比较。"""
print("动物的住址在:%s, " % animal.address,end="")
animal.to_string()
运行结果为: 动物的住址在:北京, 动物的名字叫做:John, 动物的年龄为:3
。
权限修饰符 && 伪权限修饰
- python也有对变量的权限修饰符,但是明显与Java的不一样,Java可以通过反射强行使用私有的变量以及方法,但是python的完全不需要那么复杂,因为它只是对私有的变量以及变量名称多加了一些东西,我们可以利用其追加变化后的名称进行数据的调用。
- 在Python的面向对象编程中有以下几种下划线的使用方法.
__test_group__
、_test_group
、__test_group
、test_group_
.- 第一种是有特殊功能的函数,除了经常使用的几种,一般不建议使用
- 第二种使用之后不能被当做模块导入.
- 第三种是伪权限修饰符,本质上是将变量名称重构,防止被使用,但是仍然是可以使用的.
- 第四种没有特殊功能可以随便使用,一般的使用情况为防止与已知的文件名or模块重名而使用的.
class Animal:
def __init__(self, name, age):
""""成员变量定义"""
self.__animal_name = name # 使用两根连续的下划线,成员变量私有化.
self.animal_age = age
def to_string(self):
""""成员方法定义"""
print("动物的名字叫做:%s, 动物的年龄为:%d"
% (self.__animal_name,self.animal_age))
def __to_private_string(self): # 使用两根连续的下划线,成员方法私有化.
""""成员方法定义"""
print("我是私有的方法!","