首页 > 解决方案 > 如何隐藏基类的方法不被子类的对象访问?

问题描述

如何阻止 x(子类的对象)访问基类的方法 show_catalogue() ?我想创建一个基类,存储所有可供出租的自行车对象,然后想让这个目录成为另一个类 Rentshop 的属性?我这样做的方式是否正确?


import pandas as pd
import time
import numpy as np


class bike_shop:


    bike_list = [
        {
            "ID": 1,
            "BikeName": "Bajaj CT 100",
            "Rent_hour": 139,
            "Rent_Weekly": 599,
            "Rent_Monthly": 3339
        },
        {
            "ID": 2,
            "BikeName": "Bajaj CT 100",
            "Rent_hour": 139,
            "Rent_Weekly": 599,
            "Rent_Monthly": 3339
        },
        {
            "ID": 3,
            "BikeName": "Bajaj CT 100",
            "Rent_hour": 139,
            "Rent_Weekly": 599,
            "Rent_Monthly": 3339
        },
        {
            "ID": 4,
            "BikeName": "Bajaj CT 100",
            "Rent_hour": 139,
            "Rent_Weekly": 599,
            "Rent_Monthly": 3339
        },
        {
            "ID": 5,
            "BikeName": "Bajaj CT 100",
            "Rent_hour": 139,
            "Rent_Weekly": 599,
            "Rent_Monthly": 3339
        }
    ]


    def show_catalogue(self):
        df = pd.DataFrame(bike_shop.bike_list)
        return df





class Rentshop(bike_shop):
    def __init__(self):
        self.catalogue = bike_shop.show_catalogue(self)


x = Rentshop()
print(x.catalogue)

print(x.show_catalogue())

标签: pythonpython-3.xinheritance

解决方案


推荐阅读