Python——面向对象(1)

1.面向对象概述

面向对象将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程
面向对象编程(Object Oriented Programming-OOP) 是一种解决软件复用的设计和编程方法。 这种方法把软件系统中相近相似的操作逻辑和操作 应用数据、状态,以类的型式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。

2.类和对象

<1>类(class):

	就是对一类事物的描述,是抽象的,是概念上的定义.

<2>对象(object):
就是该类事物存在的个体(对象),也叫实例(instance)
<3>定义类
class 类名:
方法列表

		如:
class A:
    def f(self):
        print('hello')

4.创建对象

对象名 = 类名()
		如:
a = A()
#调用方法
a.f()	
#添加属性
a.j = 12

注: 所谓的self,可以理解为自己,就是对象自身的意思
某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可

3.init()方法

类中有一个名为 __init__() 的特殊方法(即构造方法),该方法在类实例化时会自动调用。可以用作初始化操作
def 类名:
    def __init__(self)::
   		 pass

4.str()方法

当使用print输出对象的时候,只要自己定义了**str(self)**方法,那么就会打印从在这个方法中return的数据

5.del()方法

创建对象后,python解释器默认调用__init__()方法;
当删除一个对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法(析构方法)

import time
class Animal(object):

    # 初始化方法
    # 创建完对象后会自动被调用
    def __init__(self, name):
        print('__init__方法被调用')
        self.__name = name


    # 析构方法
    # 当对象被删除时,会自动被调用
    def __del__(self):
        print("__del__方法被调用")
        print("%s对象马上被干掉了..."%self.__name)
# 创建对象
dog = Animal("哈皮狗")
print("程序2秒钟后结束")
time.sleep(2)
# 删除对象
del dog
cat = Animal("波斯猫")
cat2 = cat
cat3 = cat

print("---马上 删除cat对象")
del cat
print("---马上 删除cat2对象")
del cat2
print("程序2秒钟后结束")
time.sleep(2)
print("---马上 删除cat3对象")
del cat3

6.隐藏数据

如果有一个对象,当需要对其进行修改属性时
对象名.属性名 = 数据 ---->直接修改
对象名.方法名() ---->间接修改
为了更好的保证属性安全,即不能随意修改,一般的处理方式为将属性定义为私有属性
添加一个可以调用的方法,供调用

如果在属性名前面加了2个下划线’__',则表明该属性是私有属性,否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,否则为公有的)。

class A():
    def __init__(self):
        self.__age = 0#__age现在是一个隐藏数据,将0赋值在__age上
def setAge(self,age):#age在此处是形参
        self.__age = age#将形参传到__age上
    def getAge(self):
        return self.__age#return返回self.__age
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值