- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 15195775117 于 2021-1-27 10:43 编辑
python的面对对象与Java别无二致,几乎一样
面对对象编程:
实例叫“对象”,实例的集合是“类”,类具有“属性”和“方法”。
面对对象编程3大特征:封装,继承,多态。
封装指类中的属性和方法的封装。
继承:子类继承父类的属性和方法。
定义类:
class ClassName:
‘’’......’’’
类体
一般,类名用“驼峰式命名法”,即单词首字母大写;
引用类时,输出类名+(时会弹出三引号的信息(跟函数一样);
类的实例化:duck=Animal(参数...)
print(dick)可以查看其类是什么。
每个类都有个__init__()方法,=Java的构造方法,每创建一个类的实例,python都会自动执行它。
__init__()方法必须包含一个self参数,且必须是第一个参数。
Self参数是一个指向实例本身的引用,用于访问类中的属性和方法,在方法调用时会自动传递实参self,当__init__()方法只有一个参数时,在创建实例时就不需要指定实际参数了。
class C:
'''这是个例子'''
def __init__(self):
print(999)
x=C()
__init__()方法除self还可有其他参数:
class C:
'''这是个例子'''
def __init__(self,x,y):
print(x+y)
x=C(1,2)
结果:3
看来,这个self只是形式上多余的累赘,可以看做函数写法的一部分。
方法名以小写字母开头。
案例:
class FirstClass:
'''这是个例子'''
def __init__(self,x,y):
print(x+y)
def f(self,x,y):
return x-y
def g(self,x,y):
return x*y
c=FirstClass(2,3)
print(c.f(2,3))
print(c.g(2,3))
结果:
5
-1
6
构造方法和一般方法的第一个参数都是self。
属性的修改:
class FirstClass:
'''这是个例子'''
num=0
def __init__(self):
FirstClass.num=FirstClass.num+1
c=FirstClass()
print(c.num)
c=FirstClass()
print(c.num)
c=FirstClass()
print(c.num)
c=FirstClass()
print(c.num)
结果:1 2 3 4
添加和修改类的属性:
class FirstClass:
'''这是个例子'''
a=1
b=2
def __init__(self):
pass
FirstClass.a=999
x=FirstClass()
print(x.a)
FirstClass.c=3
x=FirstClass()
print(x.c)
结果:999 3
实例中也可以添加属性:实例名.属性=...
|
|