Python项目案例开发从入门到实战-1.3 Python面向对象设计

1.3.1定义于使用类

  • 类的定义
class class_name;
    attribute
    function
例:
class Person:
    age=18
    def say():
        print("Hello!")

1.3.2构造函数

一个特殊的方法,以两个下划线“__”开头和结尾

class Complex:
    def __init__(self, realpart,imagpart):
        self.r=realpart
        self.i=imagpart
x=Complex(3.0,2)
print(x.r,x.i)

1.3.3析构函数

另一个特殊的方法,以两个下划线“__”开头和结尾

class Complex:
    def __init__(self, realpart,imagpart):
        self.r=realpart
        self.i=imagpart
    def __del__(self):
        print("It has gone")
x=Complex(3.0,2)
print(x.r,x.i)
del x

1.3.4实例属性和类属性

属性(成员变量)有两种,一种是实例属性,一种是类属性(类变量)。
实例属性是在构造函数中定义的,定义时以self作为前缀
类属性是在类中方法之外定义的属性
在主程序中,实例属性属于(实例)对象,只能通过对象名访问,而类属性属于类,可通过类名访问,也可通过实例对象访问

例:
class Person:
    type = mammal              类属性
    def __init__(self,str,n):  构造函数
        self.name = str        实例属性
        self.sage = n
    def sat():
        ...

1.3.5私有成员和共有成员

属性名前有两个下划线“__”为为私有属性,否则为共有属性

class Car:
    price = 100
    def __init__(self, c,w):
        self.color = c          共有属性
        self.__weight = w       私有属性

car1 = Car("Red",10)
print(car1.color)
print(car1.__Car__weight)

1.3.6方法

class Fruit:
    price=100
    def __init__(self):
        self.__color = ''
    def __output(self):     私有方法
        print(self.__color) 访问私有属性
    def output(self):
        self.__output()     通过私有方法访问私有属性
    @staticmethod
    def getPrice()          定义静态方法
        return Fruit.price

1.3.7类的继承

class 派生类名(基类名)
    派生类成员

1.3.8多态

不想写了。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值