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

    一.什么是面向对象(***)

    面向对象是一种编程思想,能够指导程序员如何编写出更好的程序,核心是对象,程序就是一系列对象的集合,程序负责调度控制这些对象来交互着完成任务

    1.面向对象的优点与缺点

    优点: 1.扩展性好

        2.灵活性高

        3.复用性好

    缺点: 

        1.程序的复杂度高

        2.无法准确预知结果

    2.使用场景:对扩展性要求较高的程序,通常都是直接面向用户的

    二.面向过程编程思想

    核心是过程,过程是一步步的执行步骤,就是先做什么后做什么

    1.面向过程编程的优点与缺点

    优点:

      1.逻辑清晰

      2.复杂的问题简单化,流程化

    缺点

      1.扩展性差

      2.可维护性差

      3.复用性低

    2.使用场景:对扩展性要求较低的程序

    三.类和对象

    1.类

    类即类型,类别,是一种抽象概念,是一系列具备相同特征和相同行为的对象的集合

    2.对象

    对象就是具体存在的某个事物,具备自己的特征和行为,对象就是特征和技能的结合体

    3.类和对象的关系

    类包含一系列对象,对象属于某个类,

    在生活中是先有对象再有类,而在程序中是先有类再有对象

    四.创建类和对象

    定义类的语法:

    class 类的名称:
        # 类中的内容 描述属性和技能 
        #描述属性用变量
        #描述行为用函数 
    
    #类名称 书写规范  首先是见名知意 名称是大驼峰命名法  
    #驼峰就是单词首字母大写 , 大驼峰是第一个字母大写,小驼峰是第一个字母小写

    创建对象的语法:

    class Person:
        pass
    
    #创建对象 
    p = Person()

    对象中的属性,是每个对象独特而的

    属性的增删改查

    增加属性 
    对象变量名称.属性名称 = 属性值
    
    删除属性
    del 对象的变量名称.属性名称 
    
    修改 
    对象.属性 = 新的值 
    
    查看属性  访问的是对象的所有属性 
    print(对象.__dict__)
    
    访问对象的类信息
    print(对象.__class__)

    __init__方法

    初始化方法,本质上是一个函数

    特点:1.当实例化对象时,会自动执行__init__方法

       2.会自动将对象作为第一个参数传入

    功能:给对象赋初始值

    class Dog:
        def __init__(self,kind,color,age):
            self.kind = kind
            self.color = color
            self.age = age
    
    d1 = Dog("二哈","黑白",1)
    d1 = Dog("泰迪","棕色",2)

    属性的查找顺序:

    五.绑定方法与非绑定方法

    对象的绑定方法

    在默认情况下,类中的方法都是对象绑定方法,当使用对象调用该函数时会自动传入对象本身作为第一个参数,当使用类名来调用时他就是一个普通的函数,有几个参数就传几个参数

    class Student:
        
        def __init__(self,name):
            self.name = name
         
        def say_hi(self):
            print("hello my name is %s" % self.name)

    类绑定方法

    类绑定方法用@classmethod来装饰

    不管用类还是对象调用,都会自动传入类本身,作为第一个参数

    非绑定方法(静态方法)

    不需要访问类的数据,也不需要访问对象的数据

    使用@staticmethod装饰

     

    万般皆下品,唯有读书高!
  • 相关阅读:
    java
    DevExpress学习1
    D 动态获取服务器访问路径
    D10 Sping Boot 入门 Sping框架--Java Web之文件操作--上传和下载
    D08 Sping Boot 入门 Sping框架--Java Web之JSP
    D07 Sping Boot 入门 Sping框架--Java Web之书城项目(二)实现用户登录功能
    D06 Sping Boot 入门 Sping框架--Java Web之书城项目(二)实现用户注册功能
    D04 Sping Boot 入门 Sping框架--Java Web之JavaEE的三层架构
    D03 Sping Boot 入门 Sping框架--Java Web之HTTP协议
    D02 Sping Boot 入门 Sping框架--Java Web之Servlet
  • 原文地址:https://www.cnblogs.com/s686zhou/p/11239392.html
Copyright © 2011-2022 走看看