python:面向对象
Posted on
in
python
• 57 words
• 1 minute read
- object oriented programming
- OOP面向对象程序设计
- java C#只支持面向对象编程
- python既支持面向过程编程也支持面向对象编程
-
class 类名(object)
-
属性
-
方法或者行为
-
注意
-
类名首字母大写
-
在类中,每个方法中都要带Self参数
-
如果在类里定义就必须有self不能忽略self代表自身self后面代表它的属性
- object表示该类是从那个类继承下来的,通常如果没有合适的继承类,就是用object类,这是所有类最终都会继承的类
- 属性是动态添加到对象里面而不是类里
-
如果想要调用另外类里面的属性就需要先把那个类实例化,然后根据类属性的调用方法调用
-
对象属性(self)是在==每一个对象建立的时候==才会出现在对象里面的==而不是类的属性==
self
- 从创建多个对昂引入Self
- 某个对象调用其方法时,Python解释器会把==这个对象==作为第一个参数传递给self.
- 通俗的话讲,就是==谁调用这个方法就是谁==。
- 创建对象时一定小心不要交换位置更不要交叉调用
- 参数的名字不一定叫self但是我们推荐使用self
- 特点:
- 1、实例创建成功后有python解释器来调用该方法,这个方法不用我们手动调用
- 2、误区,认为__init__方法用来创建对象的,初始化对象的一些数据
- 3、创建实例对象是用__new__方法创建的,使用__new__创建实例对象后要记得返回.
- 4、!==注意==程序是从上到下执行
str
- 添加__str__方法,打印对象名的时候默认调用str方法
- def str(self):
-
return '姓名'+self.name
- 对象打印出来的内同取决于:__str__中return出来的内容
- ==最后别忘了打印str!!print(实例对象)==
面向过程和面向对象编程联系和区别
-
全局变量
- self属性是全局变量
-
局部变量
- 方法中的变量和参数位置的变量均是局部变量
-# 自定义类型
- 自定义类型也是一种类型
- 方法的参数可以接受任意类型——————》因此自定义类型可以作为参数传递
set get
- 隐藏数据
- 开发时我们不推荐对象.属性名=值
- //赋值的方法推荐set_xxx(self,参数)def
- 好处:就是可以在函数体中实现对参数的验证
- 取值的方法def
- get_xxx(self) return别忘了