加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python 初识面向对象

发布时间:2020-12-17 00:22:44 所属栏目:Python 来源:网络整理
导读:主要内容: 1. 面向对象和面向过程 2. 面向对象如何编写 3. 面向对象三大特征 1. 面向对象和面向过程 ? ? (1) ? 面向过程: 核心是"过程" , 事情的发展即"过程",或者解决问题的执行步骤即过程,该编程思想就是论事,就问题即问题,是机械式的不可倒退机制 ? ?? (2

主要内容:

  • 1. 面向对象和面向过程
  • 2. 面向对象如何编写
  • 3. 面向对象三大特征

1. 面向对象和面向过程

? ? (1)?面向过程:核心是"过程",事情的发展即"过程",或者解决问题的执行步骤即过程,该编程思想就是论事,就问题即问题,是机械式的不可倒退机制

? ??(2) 面向对象:?核心是"对象",具有相同属性和动作的结合体即对象.面向对象思维即是以对象为中心,自己来操控对象而解决问题,此时操纵的是一个事物的个体,具体的某一个事物.

2. 面向对象如何编写

? ? 对象是具有相同属性和动作的结合体,所以我们用类来描述一个对象,?用"对象.特征"给对象设置属性.

class Movie:          #创建类
    print("电影出版")
    pass
a = Movie()           #创建一个电影
a.genre = "剧情"
a.language="国语"
a.name="少林足球"
a.time="2H"
print(a.genre )
print(a.language )
print(a.name)
print(a.time)

把电影的信息如果写在类里,而且电影每部都具有上面特征,所以可以写在类里,在python中我们可以是用__init__(self)函数给对象进行初始化操作,这个函数(方法)被称为构造函数(方法).?

class Movie:                                        #创建类
    def __init__(self,genre,language,name,time):    # self表示当前类的对象,当前你创建的是谁,谁来访问的这个方法.那这个self就是谁. 
        self.genre=genre 
        self.language=language
        self.name=name
        self.time=time
a = Movie("剧情","国语","少林足球","2H")
print(a.genre)
print(a.language)
print(a.name)
print(a.time)

? ?? ?属性设置完了,此时还需要对这个个体特有的动作进行编写,用函数来实现,在面向对象编程中,函数被称做方法,只不过这个方法写起来比正常的方法多?个参数self.

class Movie:
    def __init__(self,time):
        # print("电影出版")
        self.genre=genre
        self.language=language
        self.name=name
        self.time=time
    def play(self):
        print("%s在美国上映" % self.name)
a = Movie("剧情","2H")
a.play()

总结: 类与对象的关系:? 类是对事物的总结. 抽象的概念,类用来描述对象,对象是类的实例化的结果,对象能执行哪些方法,都由类来决定. 类中定义了什么,对象就拥有什么

?3.面向对象的三大特征

?面向对象三大特征:?封装,继承,多态.?只要是面向对象编程语言. 都有这三个特征.?

(1)封装:把很多数据封装到?个对象中,把固定功能的代码封装到?个代码块,函数,对象,打包成模块,这都属于封装的思想. 具体的情况具体分析.?

(2)继承:?子类可以自动拥有父类中除了私有属性外的其他所有内容.

class Pet:
    def __init__(self,name):
        self.name = name
    def eat(self):
        print("吃,.....")
    def sleep(self):
        print("睡")
class Cat(Pet):
    def catchMouse(self):
        print("%s喜欢抓老鼠" %  self.name)
class Dog(Pet):
    def chaijia(self):
         print("狗会拆家")                     # x是一种y的时候. x继承y

在python中,一个类可以同时继承多个父类.

class Foo:
    def play(self):
        print("Foo中的play")
    def func(self):
        print("我是爹")
class Foo2:
    def money(self):
        print("干爹给钱")
    def play(self):
        print("Foo2中的play")
class Bar(Foo,Foo2): # 继承   子类,MRO算法. C3算法
    pass
obj = Bar()
obj.money()
obj.func()
obj.play()

(3)多态:同一个个体可以有多种形态.

class Animals:
    def eat(self):
        print("动物就知道吃")
class pig(Animals):
    def eat(self):
        print("猪在吃")
class tiger(Animals):
    def eat(self):
        print("大虫在吃")
class lion(Animals):
    def eat(self):
        print("西几在吃")
class feeder:
    def feed(self,Ani):
        Ani.eat()
pig = pig()
tiger=tiger()
lion=lion()
alex = feeder()
alex.feed(pig)
alex.feed(tiger)
alex.feed(lion)

多态的好处:? 程序具有超高的可扩展性,面向对象思想的核心与灵魂,python自带多态.?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读