面向对象
什么是面向对象
所以面向对象,其实就是说:站在上帝的视角下,世界万物一切皆对象,把拥有工程的属性归为一类,这就是class的由来
类的定义:
关键字class
类的名称首字母必须大写
类里面有哪些东西
1.属性
2.方法(其实就是之前学习过的函数)
for example:
#object是所有类的父类,可以说是类的祖先
class Person(object):
def show(self):
print("hello")
obj:1.它是一个变量
2.他是类的对象
init:初始化
—del—:清理
方法执行顺序
普通方法
特性方法
静态方法
类里面的属性以及方法,调用的前提是首先要先要对类进行实例化处理
方法(method):
1.普通方法,如show(),info()
2.特性方法,只具备只读属性,不能写(这个方法里面不能有形式参数)调用特性方法的时候,没有括号
3.静态方法:理解为全局变量,但是不能等价于全局变量,静态方法的特点时使用类名直接调用
obj.info():输出结果为 我的名字是cancan,我的年龄是23,我的性别是男
析构方法:功能正好和 __init__() 相反,其用来销毁实例化对象
输出结果为:我的名字叫cancan,我的年龄是23,我的城市是西安
print(Dog(name="",age="").getName()):输出结果为"中国西安"
对数据属性而言,使用类以及类对象调用,他的内存地址都是一样的
继承
java与python的继承区别
1.python是一个类可以继承N个类
2.java只能继承一个类
概念
1.基类(父类):被继承的类
2.派生类(子类):继承其他的类
父类
子类
方法重写
当父类的方法没有办法满足子类的需求的时候,那么子类就会重写了父类的方法