面向对象

Posted zhengyiqun1992

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象相关的知识,希望对你有一定的参考价值。

面向对象:
三大编程范式:
  1面向过程编程 :把一个大的问题细分成很多小问题,然后第一步执行到最后一步
  2函数式编程 :   通过对函数的创建和调用的方式
  3面向对象编程: 通过创建一个有共同数据熟悉和函数属性的类来创建一个实例的对象出来
编程进化论:
  1.编程最开始就是无组织无结构,从简单控制流中按步写指令
  2.从上述的指令中提取重复代码块或逻辑,组织到一起。便实现了代码复用,
  且代码由无结构走向了结构化
类:
  把一类的事物的相同特征和动作整合到一起就是类,累是一个抽象的概念
对象:
  就是基于类而创建的一个具体的事物(具体存在的)
  也是特征和动作的整合到一块


什么叫实例化:
由类产生对象的过程叫实例化

属性:
类是描述一类事物中相同共有的特征和动作,而对象是类当中产生的一个个个体
是事物就有属性:
1.数据属性:就是变量(特征)
2.函数属性:就是函数,在面向对象中成为方法(动作)

 类有数据属性和函数数据,而对象只有数据属性

关于实例出来的对象能访问到类的属性:
实例出来的对象其实只有数据属性,也就是变量的特征,本身是没有函数属性的。能访问到类里面的其他函数属性或者是变量是因为作用域的关系,在自身属性当中查找不到的时候会去上一层查找。

class pep:
    """
    这个类是测试
    """
    def __init__(self, name, con): #定义特征
        self.name = name
        self.con = con

    def test(self):
        print(%s都是亚洲人)

    def test1(self):
        print(很喜欢吃)

p1 = pep(zheng, roubaozi) #生成对象

 类熟悉增删改查

class school:
    addr = 中国
    def __init__(self, name, type):
        self.name = name
        self.type = type


s1 = school(九江学院, 公立)
print(s1.addr)

#修改类数据属性
school.addr = 九江

#增加类数据属性
school.type1 = 本科
del school.addr
#删除类属性
def eat_food(self, food):
    print(%s的食堂%s很好吃%(self.name, food))
# 增加类的函数属性
school.eat = eat_food

实例属性增删改查

class school:
    addr = 中国
    def __init__(self, name, type):
        self.name = name
        self.type = type

    def test(self):
        print(%s是一所本科学校%self.name)


s1 = school(zheng, 111)
s1.age = 12 #直接.的方式进行增加,实例只能增加和修改自己的数据属性

 





















以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章

面向面试编程代码片段之GC

PHP面向对象之选择工厂和更新工厂

Java中面向对象的三大特性之封装

python之路之前没搞明白4面向对象(封装)

Scala的面向对象与函数编程

Python面向对象学习之八,装饰器