TOP

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

posted on 2018-11-06 19:04  hui_T  阅读(119)  评论(0编辑  收藏  举报