面向对象编程

Posted kangjunhao

tags:

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

 

面向对象

必知:Python中有两种编程方式:

    1.函数式编程

    2.面向对象编程: 其实就是对类和对象的应用

 

1.类的创建:

格式:

    class 类名:
      def 方法名():

2.类中方法的调用:

1.定义好一个类后

2.将类赋值给一个自定义的对象

3.利用自定义的对象来调用类中的方法

示例:

class bar:  # 定义一个类
    def foo(self): # 定义一个方法
        print(hello world )
        
# 以上就是完成类的创建了

# 下面是对类中方法的调用

obj = bar()   # 自定义一个对象,将类名加括号赋值给对象

obj.foo()   # 通过‘对象.方法名‘的方式来调用

3.类中默认的__init__方法:

  当你执行将类名赋值给对象是,Python内部自动执行的一个函数,所以进行封装时也可以利用这个方法,可以让你的代码看起来更漂亮

方法中的默认self参数:

  self参数Python内部在你调用方法的时候,自动传值的参数,其实他代指的是调用方法的对象的名字(也就是上面例子中的obj对象)

 

4.面向对象的三大特性:

1.封装:

  1.就是当你的函数的参数中有许多的共同且不变的参数时,可以直接将值封装在对象中

  2.利用类的特性,__init__方法,在方法中封装公用的值

  

class bar:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.blood = o
    def show_info(self, hobby):
        print(self.name, self.age, self.blood, hobby)


alex = bar(alex, 15)

alex.show_info(jklsjdfljk)

2.继承(可以多代继承)

  子代可以继承父代类中的方法

  示例:

class bar:  # 父类(基类)
    def show_name(self):
        print(hello)
    def show_age(self):
        print(world)



class car(bar): # 子类(派生类)
    def show_sex(self):
        print(male)

实现不继承父代中的方法:

代码示例:

class bar:
    def show_name(self):
        print(hello)
    def show_age(self):
        print(world)



class car(bar):
    def show_sex(self):
        print(male)
    def show_name(self):  # 在子代中定义一个和父代中相同名字的方法,就可以实现,方法重写
        print(female)
        

 

3.

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

面向面试编程代码片段之GC

Scala的面向对象与函数编程

面向对象编程

面向过程编程与面向对象编程

Java面向对象

面向对象编程(OOP)