当你可以公开你的变量并避免这些行的麻烦时,getter和setter有什么用A.setVariableX(A.getVariableY())?
这是工人阶级:
namespace Lite
{
public class Spec
{
public int ID { get; set; }
public string Name { get; set; }
public string FriendlyName { get; set; }
public int CategoryID { get; set; }
public int Width { get; set; }
public int Height { get; set; }
public string UOM { get; set; }
public int Pagination { get; set; }
public int ColoursFront { get; set; }
public int ColoursBack { get; set; }
public string …Run Code Online (Sandbox Code Playgroud) 每个人都知道Java支持数据隐藏.
我去采访了.然后面试官问我,如果Java使用private作为数据类型支持数据隐藏.
他说,如果我们在该课程中使用setter和getter,那么通过使用这些setter和getter,我们可以轻松获得私有数据.
那么这是如何支持数据隐藏的呢?
他有可能试图让我抓住陷阱.但我无法回答这个问题.
我该怎么回复?
我更喜欢Java-Guy,所以在C#中处理getter/setter对我来说有点新鲜.为什么这不起作用?
public String lastmodified {
get { return this.lastmodified; }
set
{
long ms = Int64.Parse(value);
var date = new DateTime(1970, 1, 1).AddSeconds(ms);
date.ToLocalTime();
this.lastmodified = date.ToString("HH_mm_yyyy");
}
}
Run Code Online (Sandbox Code Playgroud)
值在这个cade中是一个像1987123019那样的字符串
我正在阅读一本java书,其中说当访问/修改不同类中的变量时,应该使用get/set方法来操作它们.
我的问题是,加班和使用获取/设置的大型项目不会危及应用程序性能?
类似的问题,通常我们应该优先使用数组而不利于更抽象的数据类型(比如实例的类似列表),因为数组通常更加缓存友好.
我有一个类,其中包含以下代码:
public class Crawler {
String title;
public void setTitle(String text) {
title=text;
//System.out.println(title);
}
public String getTitle() {
// System.out.println(title);
return title;
}
public void crawler() {
Document doc;
doc = connect("http://www.xyz.com//asd.html").timeout(0).get();
title=doc.title();
setTitle(title);
System.out.println("Title : " + title);
}
}
Run Code Online (Sandbox Code Playgroud)
另一堂课:
public class Results {
public void output() {
Crawler cw=new Crawler();
System.out.println(cw.getTitle());
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,结果类中的SOP是打印的 null
评论的SOP setTitle()正在打印所需的文本,但SOP getTitle()仍然在说null.
这里有任何范围问题吗?我没有得到它.调用setTitle()方法时,全局标题变量不会改变吗?
对不起,我忘记提到这个,我有一个下面的课程,以下面的方式调用方法:
编辑1:
public class OA {
public static void main(String[] args) …Run Code Online (Sandbox Code Playgroud) 我正在使用getter/setter属性来获取或设置变量我的代码工作正常如果我使用公共变量来设置值,因为我正在创建我的类的数组,但我只是想知道如何设置私有变量的值.我的代码是
public class Person
{
//getter and setter for each variable
private string _Name;
public string Name
{
get { return _Name;}
set { _Name= value; }
}
private int _Age;
public int Age
{
get {return _Age; }
set { _Age= value; }
}
.... // other properties
// Another Class
public void setValues (Person[] p,int i)
{ p[i].Age= 30;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我将我的set变量更改为private,如何设置变量?
private int _Age;
public int Age
{
get {return _Age; }
private set { _Age= value; } …Run Code Online (Sandbox Code Playgroud) 我试图看看是否可以以与在C++中使用setter相同的方式组合多个get值.我正在使用一本书中的例子,它将每个getter放在一个单独的行上.
我用于setter的一个例子如下:
void setValues(int, int, string);
void myClass::setValues(int yrs, int lbs, string clr)
{
this -> age = yrs;
this -> weight = lbs;
this -> color = clr;
}
Run Code Online (Sandbox Code Playgroud)
是否可以为多个getter值编写单行代码?
int getAge(){return age;};
int getWeight(){return weight;}
string getColor(){return color;}
Run Code Online (Sandbox Code Playgroud) 我目前的编程任务存在问题.我觉得好像我非常接近正确,但事情已经结束了.我知道我必须做一些不同的事情才能使程序正常运行,因为它现在不起作用,但我不确定它是什么.
我正在努力解决如何使用单个私有变量来产生两种温度的问题.
这是作业:
制作温度等级.该类应具有以华氏温度设定温度的功能,并具有以摄氏度设定温度的功能.在专用部分中只保留一个数据成员来存储温度.创建用于获取华氏温度的函数和用于获得摄氏温度的函数.使用驱动程序彻底测试每个功能.
F =(9/5)C + 32,C =(5/9)(F - 32)
现行代码:
#include<iostream>
using namespace std;
class Temperature
{
private:
double temperature;
public:
void set_fahrenheit(double f)
{
temperature = f;
}
void set_celsius(double c)
{
temperature = c;
}
double get_fahrenheit()
{
return temperature;
}
double get_celsius()
{
return temperature;
}
double converter(double temperature)
{
if (temperature = f)
{
return (9/5)*temperature + 32;
}
else if (temperature = c))
{
return (5/9)*(temperature - 32;
}
}
};
int main() …Run Code Online (Sandbox Code Playgroud) 在尝试将任何字符串分配给类级变量时,我总是变为nil.
以下是我的控制台输出:
// test = nil
// Demo.test = nil
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
Demo.test = "app"
print("Demo.test = \(Demo.test)")
}
}
class Demo {
class var test: String? {
set {
UserDefaults.standard.set(test, forKey: "test")
print("test = \(test)")
}
get {
return UserDefaults.standard.string(forKey: "test")
}
}
}
Run Code Online (Sandbox Code Playgroud) getter-setter ×10
c# ×3
java ×3
c++ ×2
asp.net ×1
converters ×1
eclipse ×1
getter ×1
inheritance ×1
ios ×1
oop ×1
performance ×1
private ×1
setter ×1
swift ×1
userdefaults ×1