类与对象

面向对象编程通用:万物皆对象,对象都是会属于具体某个类的
万物皆对象–对象肯定是属于某个类–>类可以产生对象
class 类名:
  类的方法:功能
  类的属性:特征
比如:手机有:像素、外观好看、能拍照、能打电话; 打电话、拍照是功能,像素,外观是特征
简单来说:动词是方法,名词是特征

简单的对象与函数:

class Boy:
    def coding(self,a,b): #--类的方法
         return a+b
i=Boy()
print(i.coding(1,2))

创建对象:类名()
比如:t=BoyFriend() —这就是一个对象
对象具有类的所有属性和方法 调用 对象.属性 对象.方法
一般类+()就是对象

对象方法:必须是由对象来进行调用
self是什么? -->self指向的是实例化对象,而不是类本身,只是对象还没创建,不能用对象.属性来获取属性,只用对象.方法来获取方法,所以用self代替对象,一旦对象创建,就变成了对象.属性/方法
代码:

class Boy:
    def __init__(self,a,b):  #初始化函数
        self.a=a  #属性
        self.b=b  #属性
    def coding(self): #--类的方法
         print(self.a+self.b)

    def coding_sum(self): #--类的方法
        print (self.a + self.b)
i=Boy(1,2)
i.coding()

类方法和静态方法(我只知道有这两种方法,但目前还不太会用,先写,后面理解再补充)
 类方法:类可以调用 对象可以调用 @classmethod 类方法
 静态方法:类可以调用 对象可以调用 @staticmethod来装饰
  静态方法:它跟类里面的属性、函数、没有任何关联的时候可以不用。静态方法跟普通的函数一致

class Boy:
    def __init__(self,a,b):  #初始化函数
        self.a=a
        self.b=b

    @staticmethod
    def coding_sum(a, b):  # --类的方法
        print (a-b)

    @classmethod
    def coding(self): #--类的方法
         print(self.a+self.b)

什么时候用静态方法,什么时候用类方法?
 当频繁使用一个方法时,就会用到静态方法
 依赖具体的实例化参数和类的信息,就用类方法

继承

class 父类:
   def i(self):
       print('我是父类')
class  子类(父类):
   def j(self):
       pass

这就是简单的继承
 子类调用父类的方法:子类可以拥有父类里面所有属性、所有方法 —可以直接调用
 如果子类里没有父类的方法,可以称之为括展
 子类继承父类包含初始化方法,要传参

子类有初始化,就不能调用父类含有初始化方法,比如:

class 父类:
   def __init__(self,name):
       self.name=name
   def i(self):
       print('我是父类')
class  子类(父类):
   def __init__(self,k):
       pass
   def j(self):
       pass
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值