MST

星途 面试题库

面试题:JavaScript类装饰器模式的方法增强

有一个`User`类,包含一个`getName`方法用于返回用户名。请编写一个类装饰器,增强`getName`方法,使其在返回用户名前先将用户名首字母大写,且无论原用户名是大写还是小写。请给出`User`类和装饰器的完整代码。
45.3万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
def enhance_get_name(func):
    def wrapper(self):
        name = func(self)
        return name.capitalize()
    return wrapper


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

    @enhance_get_name
    def getName(self):
        return self.name