面向对象编程基础

Posted lijinping716

tags:

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

类的概念:

把一类事物的相同的特征和动作整合到一起就是类,类是一个抽象的概念

 属性:

数据属性(变量)

函数属性(函数)(在面向对象中叫作类)

#python为类内置的特殊属性
类名.__name__# 类的名字(字符串)
类名.__doc__# 类的文档字符串
类名.__base__# 类的第一个父类(在讲继承时会讲)
类名.__bases__# 类所有父类构成的元组(在讲继承时会讲)
类名.__dict__# 类的字典属性
类名.__module__# 类定义所在的模块
类名.__class__# 实例对应的类(仅新式类中)
class Chinese:
    eyes=big      #定义数据属性
    face=beautiful
    CH=chinese
    def movement():    #定义函数属性
        print(love to traval)
    def food(self):
        print(%s love to eatting %Chinese.CH)

print(Chinese.eyes)                #big
# print(Chinese.__dict__)          #查看属性字典
print(Chinese.__dict__[eyes])    #big
Chinese.movement()                 #love to traval
Chinese.__dict__[movement]()     #love to traval
Chinese.__dict__[food](1)        #chinese love to eatting

 

对象的概念:

就是基于类而创建的一个具体的事物(具体存在的),也就是特征和动作整合到一起

 

实例化:

由类生成对象的过程叫实例化,类实例化的结果就是对象

实例=对象

 

使用函数创建一个学校类:

特征:名字、地址、类型

动作:考试、招生、开除学生

#声明函数
def functionName(args):
    函数文档字符串
    函数体
#创建一个school的类
def school(name,addr,type):
    def init(name,addr,type):
        sch={
        name:name,
        addr:addr,
        type:type,
        kaixue:kaixue,
        kaoshi:kaoshi
        }
        return sch
    def kaixue(school):
        print(%s 学校已开学 % school[name])

    def kaoshi(school):
        print(这是一所%s,%s学校的学生在考试%(school[type],school[name]))
    return  init(name,addr,type)

#通过类生成具体的对象
s1=school(深圳第一中学,深圳市福田区,公立学校)
s2=school(宝安第一中学,深圳市宝安区,私立学校)

print(s1)
#{‘addr‘: ‘深圳市福田区‘, ‘kaoshi‘: <function school.<locals>.kaoshi at 0x0000024A6E2D4158>,
#  ‘type‘: ‘公立学校‘, ‘kaixue‘: <function school.<locals>.kaixue at 0x0000024A6E2D40D0>, ‘name‘: ‘深圳第一中学‘}
print(s2)
#{‘addr‘: ‘深圳市宝安区‘, ‘kaoshi‘: <function school.<locals>.kaoshi at 0x0000024A6E2D4268>,
# ‘type‘: ‘私立学校‘, ‘kaixue‘: <function school.<locals>.kaixue at 0x0000024A6E2D41E0>, ‘name‘: ‘宝安第一中学‘}

s1[kaoshi](s1)    #这是一所公立学校,深圳第一中学学校的学生在考试
s2[kaixue](s2)    #宝安第一中学 学校已开学

 

使用面向对象编程独有的语法class去实现面向对象设计

class 类名:
       类的文档字符串
       类体
#使用面向对象编程独有的语法class去实现面向对象设计创建一个school的类
class school:
    def __init__(self,name,addr,type):
        self.name=name
        self.addr=addr
        self.type=type

    def kaixue(self):
        print(%s 学校已开学 % self.name)

    def kaoshi(self):
        print(这是一所%s,%s学校的学生在考试%(self.type,self.name))


#通过类生成具体的对象
s1=school(深圳第一中学,深圳市福田区,公立学校)
s2=school(宝安第一中学,深圳市宝安区,私立学校)

print(s1.__dict__)
#{‘type‘: ‘公立学校‘, ‘addr‘: ‘深圳市福田区‘, ‘name‘: ‘深圳第一中学‘}
print(s2.__dict__)
#{‘type‘: ‘私立学校‘, ‘addr‘: ‘深圳市宝安区‘, ‘name‘: ‘宝安第一中学‘}

s1.kaixue()
#深圳第一中学 学校已开学
s2.kaoshi()
#这是一所私立学校,宝安第一中学学校的学生在考试

 

学习材料来源:

https://www.cnblogs.com/linhaifeng/articles/6182264.html

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

Python基础-第六天-面向对象编程

python基础之面向对象

Python基础6-1 面向对象编程

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

Java基础教程:面向对象编程

面向对象基础