06_面向对象

1.什么是面向对象编程?   

  -以前使用函数
  -类 + 对象

2.什么是类,什么是对象,又有什么关系?

举个栗子:

class 类:
    def 函数1():
        pass
def 函数2():
    pass
#obj是对象、实例化的过程
obj = 类()
obj.函数1()    
View Code

 

=========面向对象不好?========

 

  有时候,函数编程可以实现,但是比较麻烦。

  面向对象非常简单的就能实现。

3.什么时候适用面向对象?

  —如果多个函数须传入多个共同的参数时

  —根据一个模板创建某些东西
  —应用场景

举个栗子:

class SSH:
    def __init__(self,host,port,pwd,username):
        self.host = host
        ...
    def connection(self):
    #去创建连接
        self.conn = 和服务器创建的连接对象()

    def close():
    #关闭连接
        self.conn.关闭

def upload(self):
    self.conn 使用连接上传文件

def cmd(self):
    self.conn 使用连接执行命令
obj=SSH(....)
obj.connection()
obj.upload()
obj.close()

def upload():
#连接服务器
#上传文件
#关闭
def cmd():
#连接服务器
#执行命令
#关闭
def upload_cmd():
#连接服务器
#上传文件
#执行命令
#关闭        
View Code

 

4.self是什么

self就是调用当前方法的对象
-静态字段使用场景,每个对象中保存相同的东西时,可以使用静态字段

举个栗子

class Foo:
#公有属性/静态字段
country = "中国"
def __init__(self,name,count):
#普通属性/普通字段
self.NAME = name
self.COUNT = count
def bar(self):
pass
obj1=Foo('江苏',1000000)
obj1.bar()

obj2=Foo('浙江',222222)
obj2.bar()
View Code

 


5.封装

- 类中封装了属性和方法
- 对象中封装了普通属性的值

class F1:
def __init__(self,n):
self.N = n
print('F1')
class F2:
def __init__(self,arg1):
self.a = arg1
print('F2')
class F3:
def __init__(self,arg2):
self.b = arg2
print('F3')
o1 = F1('alex')
o2 = F2(o1)
o3 = F3(o2)
######## 输出Alex ########
o3.b.a.N

继承:
class F1:
def __init__(self):
print("F1")
def a1(self):
print("F1a1")
class F2(F1):
def __init__(self):
print("F2")
def a1(self):
print("F2a1")
class F3(F2):
def __init__(self):
print("F3")
def a1(self):
print("F3a1")
obj = F3()
obj = a1()
View Code

 

多态(多种形态):
python默认支持多态

6.
属性/字段:
普通属性(保存在对象中)
静态属性(保存在类中)
方法:
普通方法(保存在类中,调用者就是对象,至少有一个self参数)
静态方法(保存在类中,调用者是类,无需创建对象,可以有任意个参数):
和函数使用一样。
class F1:
@staticmethod
def a1():
print('alex')
F1.a1()

转载于:https://www.cnblogs.com/cz-cangfeng/articles/8695467.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值