zoukankan      html  css  js  c++  java
  • 模块九 面向对象编程

    什么是面向对象

     语语言层面,封装代码和数据

    规格层面,对象是一系列可被使用的公共接口

    概念层面,对象是某种拥有责任的抽象

    类,方法,类变量的定义

     类class:抽象的概念,一类事物

    方法:类中定义的函数,对外提供的服务

    类变量:类变量在整个实例化的对象中是公用的

    实例引用:实例化一个对象

    实例变量:以self.变量名,的方式定义变量

    
    
     
    class people:
        name = "alex"  #name是类变量
        age = 0
        weight = 150
    
    #构造方法,在类实例化到时候被调用
        def __init__(self,name,age,weight):
            self.name = name
            self.age = age
            self.weight = weight
    
        # 类里面定义的变量是类变量
        # self.变量名的方式,叫做实例变量
    
        # def set_palm(self,name):
        #     self.name = name
        #
        # def set_age(self,age):
        #     self.age = age
    
        def eat(self):
            print("eating")
    
        def play(self):
            print("playing")
    
    
    zs = people('李四',30,190)
    zs1 = people("谢广坤",50,150)
    # zs.set_palm("张三")
    # zs.set_age("39")
    print(f"张三的姓名是: {zs.name} ;   张三的年龄是: {zs.age} ;张三的体重是:{zs.weight}")
    print(f"谢广坤的姓名是: {zs1.name} ;   谢广坤的年龄是: {zs1.age} ;谢广坤的体重是:{zs1.weight}")
    #类变量和实例变量的区别
    #类变量需要类来访问的,实例变量需要实例来访问
    # print(people.name)  #类变量
    # print(zs1.name)  #实例变量
    #类变量和实例变量都是可以修改的
    print(people.name)
    people.name = "ALEX"
    print(people.name)
    print(zs1.name)
    zs1.name = "赵四"
    print(zs1.name)
    #类方法和实例方法的区别
    #类不能访问实例方法,如果必须访问,则需要加一个装饰器
    
    #print(people.eat()) #类方法不能访问实例方法
    zs.eat()
    

      

  • 相关阅读:
    jQuery 追加元素、拼接元素的方法总结(append、html、insertBefore、before等)
    Angular4.0 项目报错:Unexpected value xxxComponent' declared by the module 'xxxxModule'. Please add a @Pipe...
    数据库表约束的创建与使用之主键约束
    从零开始学虚拟DOM
    Typescript项目注意点和基本类型介绍
    JS操作符
    sass @function,@for,@mixin 的应用
    关于web优化(一)
    typescritp 导出默认接口
    The stacking context
  • 原文地址:https://www.cnblogs.com/hantongxue/p/14302788.html
Copyright © 2011-2022 走看看