小编Kei*_*ith的帖子

c ++中的优先级队列

有没有办法在c ++中迭代优先级队列?我的理解是它们或多或少是不可变的,容器的唯一操作是顶层元素.我希望能够打印出优先级队列的内容,但不确定如何解决问题.

c++ iterator priority-queue

6
推荐指数
1
解决办法
2134
查看次数

在不使用setter的情况下更改私有字段成员

在开发我最近的项目时,我发现了一些破坏封装和可见性规则的东西,因为我理解它们.

在我的GUI类中,我为我的应用程序中的文本字段和按钮创建了几个类变量,并将它们全部设置为私有.我还为按钮和文本字段设置了getters,返回私有成员的值.在我的SqlStatements课程中,我引用getter,然后setText()在getter上调用方法,它会更改私有成员字段的值.这怎么可能?

例如:

public class InitGUI {
    public static JTextField getfNameField() {     <---- getter for JTextField
        return fName;
    }

    private static JTextField fName;   <---- JTextField variable.
}

public class SqlStatements {
    // how is this able to change the value of a private member?
    InitGUI.getmNameField().setText("");
}
Run Code Online (Sandbox Code Playgroud)

java oop encapsulation

0
推荐指数
1
解决办法
2449
查看次数

标签 统计

c++ ×1

encapsulation ×1

iterator ×1

java ×1

oop ×1

priority-queue ×1