第三章面向对象编程思想

"""

编码规范:  类名首字母应以大写字母开头

类的成员/属性:    成员属性 实例化对象的属性:        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

第三章面向对象编程思想的相关文章

第三章 面向对象编程 3.1类型系统

3.1.2 值语义与引用语义 值语义和引用语义的定义就是 复制后与之前的对象无关的对象叫做值语义 无法复制或者复制以后与原来对象存在关联的对象称为引用语义 C语言的数组在做函数参数传递的时候就是作为引用语义 但是作为结构体里面定义的时候就是值传递 但是go语言的里面数组都是值传递 go也存在四种引用语义的类型 1.切片数组 你可以把[]T看作为,其实就是一个指向数组的指针 type slice struct{ first *T len int cap int } 2.map map本质上是一个字

进击的Python【第六章】:Python的高级应用(三)面向对象编程

Python的高级应用(三)面向对象编程 本章学习要点: 面向对象编程介绍 面向对象与面向过程编程的区别 为什么要用面向对象编程思想 面向对象的相关概念 一.面向对象编程介绍 面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法.对象指的是类的实例. 已经被证实的是,面向对象程序设计推广了程序的灵活性和可维护性,并且在大型项目设计中广为应用. 此外,支持者声称面向对象程序设计要比以往的做法更加便于学习,因为它

面向对象编程思想(OOP)

本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞大 很多软件进入维护阶段 需求的不断变更 软件开发中存在很多其他的问题,上面只是从程序开发和设计的角度看到的部分问题.需求解决上面软件开发中的问题,就要求我们编写(设计)的软件具有很好的可读性.可维护性和可扩展性.我们需要保证代码具有高内聚低耦合. 下面将简单介绍面向对象的一些基本特性.设计原则,以

面向对象编程思想(OOP)

本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞大 很多软件进入维护阶段 需求的不断变更 软件开发中存在很多其他的问题,上面只是从程序开发和设计的角度看到的部分问题.需求解决上面软件开发中的问题,就要求我们编写(设计)的软件具有很好的可读性.可维护性和可扩展性.我们需要保证代码具有高内聚低耦合. 下面将简单介绍面向对象的一些基本特性.设计原则,以

面向对象编程思想 - 月亮晶石的日志 - 网易博客

面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计. 它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统).这可以使系统直接地映射问题域,保

面向对象编程思想(OOP)(转发)

本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞大 很多软件进入维护阶段 需求的不断变更 软件开发中存在很多其他的问题,上面只是从程序开发和设计的角度看到的部分问题.需求解决上面软件开发中的问题,就要求我们编写(设计)的软件具有很好的可读性.可维护性和可扩展性.我们需要保证代码具有高内聚低耦合. 下面将简单介绍面向对象的一些基本特性.设计原则,以

面向对象编程思想的哲学起源(转载)

http://www.xuebuyuan.com/566309.html 本来想象着写一整篇「面向对象编程思想的哲学起源」这样的题目,笔走纸上,方才发现这样的题目足够出本书,知识不够,写不动.但心里还是想写点自己的所思所想. 全篇就拿JAVA来举例了.众所周知,面向对象的四大基本要素:抽象(Abstract).封装(Encapsulation).继承(Inheritance).多态(Polymorphism). 很多人坚持<逻辑学>是唯物哲学的基础,不懂,姑且不论.哲学就是对自然学科的抽象,看

面向对象编程思想(前传)--你必须知道的javascript(转载)

原文地址:http://www.cnblogs.com/zhaopei/p/6623460.html阅读目录 什么是鸭子类型 javascript的面向对象 封装 继承 多态 原型 this指向 call apply band js中的闭包 什么是高阶函数 在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 javascript是一门典型的动态类型语

[Javascript] 面向对象编程思想

1.创建对象 1.1 new 用new进行创建对象: var user = new Object(); user.age = 12;//同时为对象添加属性 user.name = 'ajun'; 1.2{} 用{}创建对象,如: var user = { 'name':'ajun, 'age':12 } 这里同时候为user添加了两个属性分别为:name,age 在以上代码稍加改造,你还可以为一个对象添加一个方法,如: var user = { 'name':'ajun', 'age':12 '