Bts____ 2021-04-23 07:48 采纳率: 50%
浏览 296
已采纳

定义一个类,及其私有属性和方法并访问成员方法

自定义学生类Student,成员包含:实例属性sno、sname、age,类属性count,实例方法show(用于显示sno、sname、age信息),类方法classAddCount(实现count属性累加1),静态方法staticShowCount(显示当前count值)。要求属性全部为私有。并完成如下问题:

(1)创建两个Student对象,分别访问上述成员方法,同时用类名访问上述成员方法,输 出结果。      

(2)为Student对象动态增加新成员性别sex和方法setGrade(设置学生年级)     

(3)在类外部访问sno私有实例属性     

(4)我们知道,若在类外部通过对象尝试修改age值是允许的,但是直接修改属性值可能带来一些问题。例如,可能直接设置成不合法的值,如age=-10。所以,为了避免客户端直接修改属性的问题,请在类中提供get()方法返回age的值,以及set()方法设置age的新值,age>0时设置成为新值,age<=0时,提示设置年龄不合法。

  • 写回答

6条回答 默认 最新

  • 关注

    class Student:

     

        _count = 0

     

        @classmethod

        def classAddCount(cls):

            cls._count += 1

     

        @staticmethod

        def staticShowCount():

            print(Student._count)

     

        def __init__(self):

            pass

        

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    Bts____ 2021-04-23 08:38

    我按照你的改了,但是结果多一个none是什么原因呢

    回复
    CSDN专家-天际的海浪 回复 Bts____ 2021-04-23 08:48

    def staticShowCount(): 中已经用 print() 输出了, 直接调用 Student.staticShowCount() 就好。 不需要外面再加print : print(Student.staticShowCount())

    回复
    Bts____ 回复 CSDN专家-天际的海浪 2021-04-23 09:17

    好的,那第四个问题要怎么做呀

    回复
    展开全部4条评论
查看更多回答(5条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部