zoukankan      html  css  js  c++  java
  • python-day15 (面向对象初级篇)

    一. 面向对象和面向过程
    1 面向过程:一切以实物的流程为核心, 核心是'过程',机械式的编程思维
    优点;负责问题流程化,编写相对简单
    缺点:可扩展性差
     1 # print('打开冰箱')
     2 # print('大象走进去')
     3 # print('关闭冰箱')
     4 
     5 # def dakai():
     6 #     print('打开冰箱')
     7 # def daxiang():
     8 #     print('大象走进冰箱')
     9 # def close():
    10 #     print('关闭冰箱')
    11 # dakai()
    12 # daxiang()
    13 # close()
    View Code

    2 面向对象:一切以对象为中心,万物皆为对象(object)
    优点:可扩展性强
    缺点:编程的复杂程度高于面向过程
     1 # class Daxiang():
     2 #     def dakai(self):
     3 #         print('打开冰箱')
     4 #
     5 #     def daxiang(self):
     6 #         print('大象走进冰箱')
     7 #
     8 #     def close(self):
     9 #         print('关闭冰箱')
    10 # d = Daxiang()
    11 # d.dakai()
    12 # d.daxiang()
    13 # d.close()
    View Code

    二 . 如何编写面向对象的程序(重点)
      先创建类: 归类. 对某些事物进行总结, 相当于图纸
      使用类可以创建对象:
      class 类名(object)
        def __init__(self,name,age): 构造方法,创建对象的时候自动调用这个方法
          self.name = name
          self.age = age
        def 方法名(self,参数):
          方法体(return)
      创建对象:
        变量(引用,句柄) = 类名(参数)
        #访问对象的属性信息
        对象.属性
        #方法的访问
        对象.方法()
      对比面向对象和面向过程:
        看需求
        大型项目更适合用于面向对象
        小型脚本程序更适合面向过程
     1 # class User():
     2 #     def __init__(self,username,password):
     3 #         self.username = username
     4 #         self.password = password
     5 #     def shu(self,user,word):
     6 #         if user == self.username and word == self.password:
     7 #             return True
     8 #         else:
     9 #             return False
    10 # u1 = User('abc','123')
    11 # print(u1.shu(input('输入用户名:'),input('输入密码:')))
    View Code
    三. 面向对象的三大特征:封装, 继承,多态
      1. 封装
        对属性封装
          self.xxx = xxx
        对方法封装
        class C():
          #对下面方法进行封装
          def fun1(self):
            pass
          def fun1(self):
            pass
      2. 继承
        子类可以自动拥有父类中除了私有内容外的其他所有内容
    1 class fu():
    2     def car(self):
    3         print('五棱宏光')
    4 class zi(fu):
    5     pass
    6 ret = zi()
    7 ret.car()#子类没有方法,继承了父类的五棱宏光
    View Code
      3. 多态
        同一个对象多种形态.
     1 # 多态
     2 class Aniaml(): #(动物)
     3     def dong(self):
     4         print('动物都可以动')
     5 class Cat(Aniaml):
     6     def chi(self):
     7         print('猫可以吃鱼')
     8 ret = Cat()
     9 ret.chi()
    10 ret.dong()#继承动物的特性
    View Code
    
    
  • 相关阅读:
    国庆清北 Day5 T3 holyshit
    清北国庆Day4 T2 r
    清北国庆Day4 T2 y
    国庆清北Day4 DP 题目
    国庆清北 DP
    国庆清北 搜索
    国庆清北 图论
    国庆清北 数据结构
    python爬虫学习:网页采集器、豆瓣电影爬取、百度翻译
    入门爬虫-requests模块
  • 原文地址:https://www.cnblogs.com/Thui/p/9917243.html
Copyright © 2011-2022 走看看