面向对象

面向对象(Object Oriented Programming)OOP
一、类:
1、 静态的属性
2、 方法
对象:类的一个实实在在的案例,实例
3、面向的对象的操作过程: 定义设计类
4、注意事项:
(1)、中英文符号(不应该)
(2)、变量和类的命名规范问题(不应该)
(3)、PEP8规范(从现在开始PEP8规范)
(4)、缩进(致命问题)

5、面向对象的编程语言有三个特征:
(1)、封装
(2)、继承
(3)、多态

1、封装
将属性私有化,提供公开的方法来设置和访问的过程
封装:
Python三种封装的写法:
(1)、常规写法
将属性私有 __属性名称
(2)、调用全局函数property,将set和get传递过去
对象.属性名称
(3)、使用annotation(注解)property来二次封装,(注意:此 处存在一个伪重载)
class User:

def __init__(self, name, age, password, sex):
    self.__name = name
    self.__age = age
    self.__password = password
    self.__sex = sex

def get_name(self):
    return self.__name

def set_name(self, name):
    self.__name = name

def get_age(self):
    return self.__age

def set_age(self, age):
    self.__age = age

def get_password(self):
    return self.__password

def set_password(self, password):
    self.__password = password

def get_sex(self):
    return self.__sex

def set_sex(self, sex):
    self.__sex = sex
property(set_sex, get_sex)

u1 = User(“ls”, 16, “123456”, “女”)

u1.sex = “男”
print(u1.sex)
函数的重载(overload)
函数名称相同,参数的个数或类型不同
注意:Python没有函数重载,因为python弱数据类型语言
函数的重写|覆盖(override)
说的是面向对象的继承中,子类继承了父类的方法,但是不满足子 类的需求, 从而重新覆盖父类的方法的现象。
2、继承(extend):
类似于Java private 表示除了类本身,其他的都不能访问
类似于java protected 表示除了本身,子类也允许访问
class Person:

def speak(self):
    print("哈哈")

class RichMan(object):

def __init__(self):
    self.heihei = 100000000
    self._xixi = "alibaba"
    self.gupiao = 'apply'

def _study(self):
    print("嘻嘻")

def make_heih(self):
    print("嘿嘿")

class Son(RichMan, Person):

def __init__(self):
    super().__init__()
    
def speak(self):
    print("请说话")

if name == ‘main’:
s = Son()
s._study()
print(s._xixi)
s.speak()

3、多态:
父类引用指向子类实例的现象,叫做多态
注意:Python是弱数据语言,而弱数据类型语言天生支持多态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值