游戏编程基础day13-14

编程思想

面向对象
	以对象为核心,根据需求 实现一个个对象
面向过程
	以动作为核心 根据需求 以流水账的形式进行书写

类与对象的关系

抽象的概念
类就是对象的模板 图纸
对象就是客观事物在人脑中的主观反应 小孩--动物园
类是对象共性的抽象 猫 狗 马 -- 动物的特点 会动,会跑,会叫

类的创建

class 类名(首字母大写):
	pass
	
class A:
	name = A:
	tedian1 = huijiao 
	tedian2 = huipao
	tedian3 = huidong 

对象的创建

1. 使用类进行创建
	类名() -- > 对象
	一个类可以创建多个对象

属性与方法访问

使用类对象.属性名可以访问类属性
使用实例对象.属性名同样可以访问类属性
	注意:
		如果使用类去调用方法的时候需要手动给self传一个实参(实例对象)

属性

1. 属性
	在类的内部 方法的外部 以属性名=值的形式存在
	所有的实例对象都可以访问类属性, 
	一旦类属性发生改变,所有的实例对象访问时都会发生改变
	如果使用实例对象修改类属性,则类属性被实例属性所覆盖,实例属性发生改变,不会影响其他的实例对象,

方法

其实是通过函数来实现的
该函数绑定到了当前的类中,使用的时候使用类名/实例对象名.函数名() 来调用

组合

一个类的属性可以是另一个对象 

补充

公私有问题

1.属性方法名前没有任何的下划线 :公有成员
2.前后加两条下划线:魔法成员
	__init__()
	所有魔法成员都会被系统自动调用 不需要手动执行
3.前只有一条下划线
	受保护的
	只有在当前文件或者其他文件的子类中可以访问
4.前面加两条下划线
	私有方法私有属性
	只能本类进行访问 (伪私有化)
python 垃圾回收机制 主要是引用计数为主,分代回收为辅助,标记清除
引用次数+1的四种情况:
	1.对象被创建 a = 10
	2.对象被引用 b = a
	3.对象被作为参数,传入到函数当中 fun(a)
	4.对象作为一个元素,储存到了容器当中 l=[a,1]
引用次数-1的情况:
	1.当该对象的别名被销毁的时候?对象引用次数,-1
	2.当该对象的引用被另一个对象引用 对象的引用此数-1
	3.一个对象离开它的作用域 引用次数-1
	4.该对象从容器中被删除时,或者容器被销毁 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章