ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python 面向对象编程—类和对象基础知识、继承

2022-09-14 21:01:01  阅读:379  来源: 互联网

标签:__ name Python self 基础知识 width 面向对象编程 height class


面向对象

面向对象( 0bject 0riented )是软件开发方法,是一种程序设计规范,是一种对现实世界理解和抽象的方法。在面向对象编程思想中,一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象。

总的来说面向对象编程,一是属性,二是方法。

 

面向对象术语

1.类(class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例

2.方法:类中定义的函数

3.类变量(属性):类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体(方法)之外。类变皇通常不作为实例变量使用,类变量也称作属性

4.数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据

5.方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写

6.实例变量:定义在_init__方法中的变量,只作用于当前实例的类

7.继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待,以普通的类为基础建立专门的类对象

8.实例化:创建一个类的实例,类的具体对象。一个类可以实例化出无数个对象

9.对象:通过类定义的数据结构实例。

 

实例演示

 

1、定义一个Rectangle矩形类

 

(1)两个名为width和height的数据域,它们分别表示矩形的宽和高。width和height的默认值都为1。

 

(2)创建矩形的参构造方法。

 

(3)一个创建width和height为指定值的矩形的构造方法。

 

(4)一个名为getArea()的方法返回这个矩形的面积。

 

(5)一个名为getPerimeter()的方法返回周长。

class Rectangle:
  #两个名为width和height的数据域,它们分别表示矩形的宽和高。width和height的默认值都为1。 height = 1 width = 1 def __init__(self, w, h): self.width = w self.height = h def getArea(self): return self.height * self.width def getPerimeter(self): return (self.height + self.width) * 2 # def getHeight(self): # return self.height # # def getWidth(self): # return self.width class ShiYan: if __name__ == '__main__': test = Rectangle(4, 3) print(test.getArea()) print(test.getPerimeter())

 

类继承

通过继承,新类可以获取现有类的属性和方法,新类称作子类或派生类,被继承的类称作父类、基类或超类。在子类中可以定义新的属性和方法,从而完成对父类的扩展。

实例:

 

通过一个对象返回一个Class对象,获取该对象所属类的名称以及父类的名称。

class Student:

    def __init__(self, name, sex, age):
        self.name = name
        self.sex = sex
        self.age = age


class Student1(Student):

    def __init__(self, name, sex, age, id):
        super().__init__(name, sex, age)
        self.id = id

    def show_info(self):  # 重写父类方法
        print(f"name: {self.name}, age:{self.age}, sex:{self.sex}, stu_id:{self.id}")


class XiaoMing(Student):

    def __init__(self, name, sex, age, id):
        super().__init__(name, sex, age)
        self.id = id


# class ShiYan():
if __name__ == '__main__':
    a = Student1("小红", "女", 18, 1)
    # b = XiaoMing("小明", "男", 20, 2)

    # 通过类的对象返回类的名字
    print(type(a).__name__)

    # 给定一个类的对象a,要求获取该对象的父类
    print(a.__class__.__bases__[0].__name__)

 

标签:__,name,Python,self,基础知识,width,面向对象编程,height,class
来源: https://www.cnblogs.com/ZGZhen-MTTTer/p/16694493.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有