面向对象初识

Posted sandy-123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象初识相关的知识,希望对你有一定的参考价值。

面向过程式编程:

1.重复代码多

2.可读性差

函数式编程:

1.重复代码少

2.可读性强

面向对象:

1.类是一组具有相似功能的集合,使代码的组织结构更加清晰和规范化

2.要具有上帝的思维,用面向对象设计程序,类是一个公共模板,对象去操作使用这个模板

类是具有相似功能和属性的一类事物

类的结构:

class 类名(首字母大写):

  第一部分:静态属性(属性,变量,静态字段)

  第二部分:动态属性(方法,函数)

class Human:
    mind = 有思想                     #静态属性
    language = 语言
    shape_list = [四肢,五官]
    def work(self):                      #方法
        print(工作)
    def eat(self):
        print(吃饭)

从类名的角度进行操作:

 1.查看类中的所有内容

  print(类名.__dict__)    以字典的形式返回

2.万能的点  .   

Human.emotion = 有情感            #
del Human.language                 #
Human.mind = 无脑的               #
print(Human.shape_list)            #

3.代码中除去静态方法和类方法,一般不用类名去执行类中的方法

对象

类的具体体现,具体到一个对象

类名()    实例化过程,产生一个对象

class Human:
    mind = 有思想                   
    language = 语言
    shape_list = [四肢,五官]
    def __init__(self,name,sex,age):
        self.n = name
        self.s = sex
        self.a = age
    def work(self):                   
        print(工作)
    def eat(self):
        print(吃饭)
obj = Human(alex,,18)     #实例化对象            
print(obj.__dict__)

实例化对象发生三步:

1.在内存中开辟一个对象空间

2.自动执行__init__方法,并将对象空间传给self

3.执行__init__的代码,给对象空间封装属性

 

从对象的角度操作类:

1.对象查看对象空间的所有属性

  print(obj.__dict__)  

2.对象操作对象空间的属性--万能的点  .

obj.h = 180                 #
del obj.n                   #
obj.s =                  #
print(obj.a)                #

 

 3.对象查看类中的静态属性,注意只能查看

print(obj.mind)

4.对象调用类中的方法,就会将对象空间自动传给方法的第一个参数self

 

补充:

self :类中的所有方法(类方法,静态方法)的第一个参数,都会默认接收对象空间,所以为了方便和区分,把第一个参数约定俗成为self

 

一个类可以实例化多个对象

 

以上是关于面向对象初识的主要内容,如果未能解决你的问题,请参考以下文章

Python -- 面向对象:初识

面向对象初识

初识面向对象

VSCode自定义代码片段——JS中的面向对象编程

面向对象初识

VSCode自定义代码片段9——JS中的面向对象编程