| 
 
	积分3625贡献 精华在线时间 小时注册时间2014-10-21最后登录1970-1-1 
 | 
 
| 
本帖最后由 15195775117 于 2021-1-27 10:43 编辑
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 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
 
 实例中也可以添加属性:实例名.属性=...
 
 
 
 | 
 |