码迷,mamicode.com
首页 > 编程语言 > 详细

python学习面向对象组合

时间:2017-09-18 11:01:53      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:ade   count   报错   存在   aos   自己的   对象   不能   添加   

面向对象的命名空间
   类中的方法
   类中的静态属性
   对象的属性
类的组合应用


面向对象的命名空间:
class A:
     country=‘中国‘
a=A()
a.name=‘alex‘
print(a.name)      结果是alex  想要添加属性可以这么添加
b=A()
print(b.name)       结果是没有name的属性

对象中有地址簿来调用类的方法,表现内存不同,不过实际调用内存相同
对象和类调用动态属性表现的地址不一样,实际一样
静态属性完全一样地址
a.country=‘中国‘
print(a.country)    中国
print(A.country)    印度
print(b.country)    印度
对于关于类的静态属性:
    如果类.属性 调用的就是类中的属性
 对象.属性  先从自己的内存空间找名字,找到了用自己的,没找到就用类的,类里没有报错
 关于类的动态属性:
 这个方法本事就存在类中,并不会存在对象的内存中
 在对象调用类中的方法的时候,要依赖于一个地址簿,去类中寻找对应的方法
 关于对象的属性
 对象的属性就存在对象的命名空间中
 只能被对象调用、修改
 不能被类调用
 
 
 面向对象组合:
 可以做到解耦,可以用其他类的对象做属性

 

class Ban:
def __init__(self,name,ke,jiang):
self.name=name
self.ke=ke.name
self.jiang=jiang.name
class Student:
quanxian=‘xuesheng‘
def __init__(self,name,ban,ke,grade=100):
self.name=name
self.ban=ban.name
self.ke=ke.name
self.jiang = ban.jiang
self.grade=grade
class Jiang:
quanxian=‘jiaoshi‘
def __init__(self,name,sex,ke,bang):
self.name = name
self.sex = sex
self.ke = ke.name
self.bang=bang

python学习面向对象组合

标签:ade   count   报错   存在   aos   自己的   对象   不能   添加   

原文地址:http://www.cnblogs.com/gaoshengyue/p/7541356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!