Python 面向对象部分知识点小结

Python 面向对象部分知识点小结

1. 类和对象

在Python中,一切皆为对象,对象是类的实例化。类是一种自定义的数据类型,它定义了对象的属性和方法。

1.1 类的定义和实例化

使用class关键字定义一个类,类名通常采用驼峰命名法。通过类名后加括号的方式可以实例化一个对象。

示例代码:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person1 = Person(\"Alice\", 25)
person2 = Person(\"Bob\", 30)

1.2 属性和方法

类中的属性是对象的特征,方法是对象的行为。属性可以是变量,方法可以是函数。

示例代码:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print(\"Hello, my name is\", self.name)

person = Person(\"Alice\", 25)
person.say_hello()  # 输出:Hello, my name is Alice

2. 继承和多态

继承是面向对象编程的重要概念,它允许一个类继承另一个类的属性和方法。多态是指同一个方法名可以在不同的类中有不同的实现。

2.1 继承

使用class 子类名(父类名)的方式实现继承。子类可以继承父类的属性和方法,并且可以添加自己的属性和方法。

示例代码:

class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        print(\"Woof!\")

class Cat(Animal):
    def speak(self):
        print(\"Meow!\")

dog = Dog(\"Buddy\")
dog.speak()  # 输出:Woof!

cat = Cat(\"Kitty\")
cat.speak()  # 输出:Meow!

2.2 多态

多态允许不同的对象对同一方法有不同的实现。通过方法的重写和方法的重载可以实现多态。

示例代码:

class Shape:
    def area(self):
        pass

class Rectangle(Shape):
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return 3.14 * self.radius * self.radius

shapes = [Rectangle(4, 5), Circle(3)]
for shape in shapes:
    print(\"Area:\", shape.area())

3. 封装和访问控制

封装是将数据和方法包装在类中,通过访问控制来限制对类的属性和方法的访问。

3.1 访问控制

在Python中,属性和方法的访问控制通过命名约定来实现。以单下划线_开头的属性和方法被视为私有的,不应该被外部访问。

示例代码:

class Person:
    def __init__(self, name, age):
        self._name = name
        self._age = age

    def _say_hello(self):
        print(\"Hello, my name is\", self._name)

person = Person(\"Alice\", 25)
print(person._name)  # 输出:Alice
person._say_hello()  # 输出:Hello, my name is Alice

3.2 属性的封装

通过使用@property装饰器和setter方法,可以实现对属性的封装,控制属性的读取和修改。

示例代码:

class Person:
    def __init__(self, name, age):
        self._name = name
        self._age = age

    @property
    def name(self):
        return self._name

    @name.setter
    def name(self, value):
        self._name = value

person = Person(\"Alice\", 25)
print(person.name)  # 输出:Alice
person.name = \"Bob\"
print(person.name)  # 输出:Bob

以上是Python面向对象部分的知识点小结,涵盖了类和对象、继承和多态、封装和访问控制等内容。希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 面向对象部分知识点小结 - Python技术站

(0)
上一篇 2023年8月8日
下一篇 2023年8月8日

相关文章

  • Win10右键菜单如何添加电源计划设置?Win10右键菜单添加电源计划选项的方法

    下面就来详细讲解一下“Win10右键菜单如何添加电源计划设置”的完整攻略吧。 简介 电源计划是电脑管理电源的重要工具之一,而在 Win10 中,我们可以通过添加电源计划选项到右键菜单中,方便快捷地管理电脑的电源计划。下面,我们就来介绍具体的步骤。 步骤 打开注册表编辑器。按 Win + R 快捷键,输入 “regedit” 并回车,即可打开注册表编辑器。 在…

    other 2023年6月27日
    00
  • c语言中字符串与字符串数组详解

    C语言中字符串与字符串数组详解 什么是字符串? 在C语言中,字符串是以null字符(’\0’)结尾的字符数组。由于字符串实际上是以字符数组的形式存储的,因此我们可以使用字符数组的方式来处理字符串。 字符串的定义方法: char str[] = "Hello World"; 其中,char表示字符类型,str[]表示一个字符数组,”Hell…

    other 2023年6月20日
    00
  • 路由器静态ip设置图文步骤

    当设置路由器的静态IP时,可以按照以下步骤进行操作: 打开浏览器并输入路由器的管理界面地址。通常情况下,这个地址是路由器的默认网关地址。你可以在计算机的网络设置中找到默认网关地址。例如,如果默认网关地址是192.168.1.1,那么在浏览器中输入http://192.168.1.1。 输入正确的用户名和密码登录到路由器的管理界面。如果你没有更改过默认的登录凭…

    other 2023年7月31日
    00
  • 基于java servlet过滤器和监听器(详解)

    本篇攻略将详细讲解基于Java Servlet过滤器和监听器的实现方式及其用途。在开发Web应用程序时,过滤器和监听器是非常重要的工具,它们能够在服务器端引入一些自定义功能,这些功能可以在Web应用程序的运行时动态地进行处理,从而实现对请求和响应数据的过滤和处理。本篇攻略将分别介绍过滤器和监听器的具体实现方式及其应用场景。 过滤器 过滤器是一种可以拦截Web…

    other 2023年6月27日
    00
  • 一步一步跟我学易语言之关于变量

    一步一步跟我学易语言之关于变量 在易语言中,变量是存储数据的容器。它们可以存储各种类型的数据,如整数、浮点数、字符串等。本攻略将详细介绍如何在易语言中使用变量。 1. 变量的声明和初始化 在使用变量之前,我们需要先声明它们。变量的声明告诉编译器我们要使用一个特定类型的变量,并为它分配内存空间。变量的初始化是给变量赋予一个初始值。 下面是一个声明和初始化整数类…

    other 2023年8月8日
    00
  • midori浏览器

    以下是“Midori浏览器”的完整攻略: Midori浏览器 Midori是一款轻量级的开源Web浏览器,它专注于提供快速简单和易于使用的浏览体验。以下是Midori浏览器的详细步骤: 1. 下载和安装Midori浏览器 首先,您需要下载和安装Midori览器。您可以在Midori官方网站上找到最新版本的Midori浏览器,并根据您的操作系统下载相应的版本。…

    other 2023年5月7日
    00
  • OFFICE2003可以下载地址集合

    OFFICE2003下载地址集合攻略 简介 OFFICE2003是一款经典的办公软件套件,包含了Word、Excel、PowerPoint等常用工具。以下是获取OFFICE2003下载地址的完整攻略。 步骤一:搜索官方网站 首先,我们需要搜索OFFICE2003的官方网站。可以使用搜索引擎,如Google或百度,在搜索框中输入\”OFFICE2003官方网站…

    other 2023年8月4日
    00
  • React props和state属性的具体使用方法

    下面是React props和state属性的具体使用方法的完整攻略。 什么是React props和state属性 React是一种基于组件的JavaScript库,因此props和state是React的两大重要概念。 props是properties的缩写,指的是组件属性。它是由外部组件传递给组件的数据,类似于函数参数。可以让控件可配置、可复用。 st…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部