""" 编码规范: 类名首字母应以大写字母开头 类的成员/属性: 成员属性 实例化对象的属性: self.name=name 可以被访问,也可以在类的外部被修改 私有属性 实例化对象的私有属性: self.__age=age 属性名前加两下划线 外部无法被访问, 也不能被修改,只能内部访问和修改 想要在外部访问只能自定义一个方法了 强制访问 私有属性: p._People__age 对象名._类名__私有属性 公共属性: 类的属性,也叫静态属性,他是在类的内部定义的 class people(): account=100 #这个变量就是静态属性 普通方法:通过对象引用类的方法 静态方法:只能通过类去调用静态方法 格式如下: @staticmethod class F1: def a1(): print("a1") F1.a1()封装: 1,类:封装了属性 和方法 2,对象:封装了普通属性的值 小结 对象再去引用类的方法继承: 字面意思就能理解了,子继承父,python中 子可以继承多个父 ,多继承 class F1(A): class F1(A,B,C):多态: python 并不支持多态,可以通过一些技术手段实现。也就意味着类有多种形态,这么说吧 class 动物 (object) #基类 def behaviour(): #通过一些技术手段将此方法变成子类必须强行重构的方法,这也就实现多态第一步 class 猴子(动物):#子类 def behaviour(): print("爬树") class 狗(动物): def behaviour(): print("吃屎") monkey=猴子() dog=狗() 动物(monkey) #动物的爬树形态 动物(dog)#动物的吃屎形态面向对象内存机制小结: 普通属性:保存对象中 静态属性:保存在类中 普通方法:保存在类中 静态方法:保存在类中 类在内存中只保存一份,每创建一个对象就开一份内存空间,对象保存了属性的值,对象再去引用类的方法 面向对象内存机制心结: 如果类的没有任何属性 那么你创建对象,对象也是要在内存开辟空间 但是对象内没有封装任何东西,就是有点浪费内存了 面向对象 优点: 可以使得代码的重用行更好,扩展性更强大 缺点: 对于简单一次性操作的功能 用面向对象 那就相当于杀鸡用宰牛刀 大材小用,用函数过程编程即可 面向对象 什么时候适用: 1,构造一个模板,可以创建很多个对象 (最通俗的理解,最深奥的思维=。=) 2,N个函数内有相同共同功能 可以将相同共同功能提取出来 创建一个模板 3,N个函数内有共同的参数时候,也可以将共同的参数提取出来 创建一个模板类 个人小结: 万物皆对象,万物都是有关联的 程序员应当建立一个OOP面向对象编程思想,这样会使你的效率大大提高,代码质量更高"""
class People(object): job="IT" def __init__(self,name,age): self.NAME=name self.__age=age pass def sayhi(self): print("我叫%s今年%s岁我的工作是%s" %(self.NAME,self.__age,self.job)) def get_age(self): """ 可以获取私有属性 :return: """ return self.__age
原文地址:https://www.cnblogs.com/Never-give-up-WH/p/8467981.html
时间: 2024-10-05 07:52:29