zoukankan      html  css  js  c++  java
  • 面向对象

    一、面向对象

    1、面向对象和面向过程

    ​ 面向过程:

    ​ 优点:复杂问题流程化,进而简单化

    ​ 缺点:可扩展性差

    ​ 面向对象:

    ​ 优点:可扩展性高

    ​ 缺点:编写复杂

    2、类与对象

    ​ 对象:属性和方法的结合体

    ​ 类:一系列共同的属性和方法

    ​ 现实生活中:先有对象再有类

    ​ 程序中:先有类再有对象

    # 定义类(类名建议用驼峰命名)
    # class关键字 类名:
    
    class Stutend:
        school = 'oldboy'
        
        def study(self):
            print('学习')
    
    # 生成对象:类加括号,生成对象
    stu_1 = Student()
    # 获取属性和方法:通过.获取
    
    print(stu_1.school)
    print(stu_1.study)
    
    # 查看类中的属性和函数
    print(Student.__dict__)
    # 类调用方法,需要传递self参数
    Student.study(123)
    # 对象调用方法,不许要传递self参数
    stu_1.study
    
    # 属性的查找顺序
    # 先从对象自身找----->类中找----->没找到就报错
    
    # 向对象放属性
    # 方式一:
    stu_1 = Student()
    stu_1.name = 'nick'
    # 方式二:通过__init__方法
    class Student:
        school = '123'
        
        def __init__(self, name):
            self.name = name
        
        def study(self):
            print('学习')
            
    # 产生对象
    stu_1 = Student('nick')
    # 当实例化对象的时候,会自动调用__init__方法,完成对象的初始化3、
    

    3、绑定方法

    # 绑定方法:
    # 		定义在类内部的方法:
    # 		如果类来调用:就是一个普通函数,有几个参数就需要传几个参数
    #		对象来调用:他叫对象的绑定方法,第一个参数不需要传,自动传递
    
    class Student:
        school = '123'
        
        def __init__(self, name):
            self.name = name
            
        def study(self):
            print(f'{self.name}学会了Python')
           
    stu_1 = Student('nick')
    stu_1.study()
    

    4、Python中一切皆对象

    Python中,字典,列表,字符串......等都是对象

    类即类型

  • 相关阅读:
    Spring异常重试框架Spring Retry
    Ubuntu 16.04无法在WPS中输入中文的问题解决
    Ubuntu 16.04使用百度云的方案
    Ubuntu 16.04安装Wine版的迅雷+QQ(完美方案,终极解决方法)
    Ubuntu下Deb软件包相关安装与卸载
    Spring在Java Filter注入Bean为Null的问题解决
    MyBatis 3在Insert之后返回主键
    MySQL JDBC URL参数(转)
    MySQL索引原理及慢查询优化
    Markdown 语法整理大集合2017
  • 原文地址:https://www.cnblogs.com/17vv/p/11412545.html
Copyright © 2011-2022 走看看