码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象(一)

时间:2016-06-20 00:19:50      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

目录

1.类和对象

2.面向对象

3.self是什么鬼?

4.构造函数

5.封装

6.继承与多继承

一、类和对象

#创建类,类名为mail
class mail:
#【方法】
    def email(self,mail,neirong):
        print("收件人: ",mail,"\n内容: ",neirong)
        return True                              #如果不定义返回值,默认为None

#【调用】
obj = mail()                                     #创建对象,对象名obj
obj.email(‘Admin‘,‘你好,请查收附件表格。‘)          #通过对象执行方法
注:当执行obj = mail()时,类对象指针将obj指向了类mail。

二、面向对象

概念:面向对象是一种编程方式,需要类和对象来实现。

   类就是一个模板,模板里包含多个函数,函数里实现一些功能。

     对象是根据类创建的一个实例,通过实例对象可以执行类中的函数。

         面向对象也是对函数或事物进行分类和封装。

面向对象三大特性:

   封装,继承,多态

1.函数式编程和面向对象编程对比

函数式编程

def add(host,username,passwd):
    print(host,username,passwd,"add")
def remove(host,username,passwd):
    print(host,username,passwd,"remove")

def modify(host,username,passwd):
    print(host,username,passwd,"modify")

def select(host,username,passwd):
    print(host,username,passwd,"select")

#执行函数
add(‘host.com‘,‘admin‘,‘123‘)
remove(‘host.com‘,‘admin‘,‘123‘)
modify(‘host.com‘,‘admin‘,‘123‘)
select(‘host.com‘,‘admin‘,‘123‘)

面向对象编程

class SQLHelper:
    def fetch(self, sql):
        print(obj1.hhost)
        print(obj1.uuserane)
        print(obj1.pwd)
    def create(self, sql):
        pass
    def remove(self, nid):
        pass
    def modify(self, name):
        pass
obj1 = SQLHelper()
#以下定义的值被封装到对象obj1中,在类中可以直接调用。
obj1.hhost = "c1.salt.com"
obj1.uuserane = "alex"
obj1.pwd = "123"
obj1.fetch("select * from A")
2.什么情况下适合使用面向对象?
  当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可。

三、self是什么鬼?

self是一个python会自动给传值的参数。

哪个对象执行方法,self就是谁。

obj1.fetch(.....)               self = obj1

  

面向对象(一)

标签:

原文地址:http://www.cnblogs.com/Z-style/p/5599127.html

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