数据成员可以大致分为两类:属于对象的数据成员和属于类的数据成员。

c++ 对象和对象指针的区别_对象捕捉与对象追踪区别_面向对象和面向过程的区别

1)属于对象的数据成员一般在构造方法__init__()中定义,当然也可以在其他成员方法中定义,在定义和在实例方法中访问数据成员时以self作为前缀面向对象和面向过程的区别,同一个类的不同对象(实例)的数据成员之间互不影响;

对象捕捉与对象追踪区别_面向对象和面向过程的区别_c++ 对象和对象指针的区别

 class Person:
     def __init__(self,name,birth):
          self.name = name         # 实例变量,对象里的变量(对象.属性)
          self.birth = birth
 p = Person('bob','1900')
 print(p.name)
 print(p.birth)
 p.birth = 1937
 print(p.birth)
以下为程序执行结果:
bob
1900
1937

面向对象和面向过程的区别_对象捕捉与对象追踪区别_c++ 对象和对象指针的区别

2)属于类的数据成员是该类所有对象共享的,不属于任何一个对象面向对象和面向过程的区别,在定义类时这类数据成员一般不在任何一个成员方法的定义中。

class Person:
     country = '中国'
     def __init__(self,name,birth):
         self.name = name
         self.birth = birth
p = Person('bob',1937)
p2 = Person('jack',2000)
print(p.country)
print(p2.country)
p.country = '法国'
print(p.country)
print(p2.country)
Person.country = '美国'   # 类变量最好是使用类名来访问
print(p.country)          # 类变量可以给对象使用
print(p2.country)
以下为程序执行结果:
中国
中国
法国
中国
法国
美国

———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注