python面向对象

目录

1.面向对象概述

2.类和对象

3.__init__()方法

 4.__str__()方法

 5.__del__()方法


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个下划线的话表示该方法是私有的,否则为公有的)。

封装,避免不合理的数据,保证数据的安全性

  1. 私有化属性
  2. 添加公有的get/set方法

class A():

    def __init__(self):

        self.__age = 0

def setAge(self,age):

        self.__age = age

    def getAge(self):

        return self.__age

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值