标签: getter-setter

这个散列表不应该只读吗?

我有一个类,它有一个名为_Parameters的哈希表的getter函数.

private Hashtable _Parameters = new Hashtable();
public Hashtable Parameters { get { return _Parameters; } }
Run Code Online (Sandbox Code Playgroud)

_Parameters未在代码中的任何其他位置引用.现在,由于没有setter函数,我认为这个类之外的任何东西都不能修改_Parameters存储的内容,只能读取它.然而事实并非如此.另一个类调用此代码(其中template是上面提到的类的实例)

template.Parameters[key] = parameters[key];
Run Code Online (Sandbox Code Playgroud)

这最终修改了_Parameters.这怎么可能?如果我们使用'='分配vales,setter函数是否只适用?

c# hashtable getter-setter

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

从另一个活动获取和设置变量

我有一个类,其中包含变量"artist"的getter和setter:

类:

public void setArtist(String artist) {
    this.artist = artist;
}

public String getArtist() {
    return artist;
}
Run Code Online (Sandbox Code Playgroud)

我想从这样的活动中调用setArtist:

活动1:

Playlist.setArtist(someString)
Run Code Online (Sandbox Code Playgroud)

但是eclipse告诉我,我需要将setArtist更改为static.我使用setter的重点是避免使用任何静态引用.我做错了什么,还是有另一种方法可以做到这一点?

android getter-setter

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

AS3中动态属性的隐式getter和setter?

定义AS3类时,可以使用隐式getter和setter来调用函数以进行简单的属性获取/设置操作.例如,我可以像这样创建一个温度等级:

public var celsius:Number;

public function get fahrenheit():Number {
    return 9/5 * celsius + 32;
}

public function set fahrenheit(fahrenheit:Number):void {
    celsius = 5/9 * (fahrenheit - 32);
}
Run Code Online (Sandbox Code Playgroud)

然后,我可以像任何其他财产一样获得/设定华氏温度:

temperature.fahrenheit = 69.2;
Run Code Online (Sandbox Code Playgroud)

这非常有用,但据我所知,它只适用于类定义中声明的属性.但是,我发现能够在动态创建的属性上定义getter和setter非常有用.像这样的东西:

var obj:Object = new Object();
obj._foo = "bar";
obj.foo = function get () { return this._foo; };
obj.foo = function set (foo:String) { this._foo = foo; };
Run Code Online (Sandbox Code Playgroud)

不幸的是,这样的语法不存在,所以我的问题是:是否有可能在AS3中动态创建属性getter和setter?

actionscript-3 getter-setter

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

PHP:如何将空字符串转换为 null

我想把一个空的输入/字符串变成null,但似乎我无法让它工作。下面是处理 $_POST 的类,

class post 
{
    public $data = array();

    public function get($param, $default = null) {
        if (!isset($this->data[$param])) {//not set, return default
            return $default;
        }
        else if(isset($this->data[$param]) && $default === ''){//empty string
            return null;
        }
        return $this->data[$param];
    }

}
Run Code Online (Sandbox Code Playgroud)

例如,

$post = new post();
$test = $post->get('url','');
var_dump($test);
Run Code Online (Sandbox Code Playgroud)

我明白了,

string '' (length=0)
Run Code Online (Sandbox Code Playgroud)

但我想要null。是否可以?

php getter null getter-setter

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

如何通过Java中的getter方法返回Object

我总是使用getter方法返回单个字段,我想知道我们是否可以使用getter返回Object.

我有,

class Student
{
 int age
 String name

 public Student(int age,String name)
{
this.age=age;
this.name=name;
}


public Student getStudent()
{

  // **how can I do this**
return studentObject;
}
Run Code Online (Sandbox Code Playgroud)

我用过 ,

public int getAge()
{
return age;
}
Run Code Online (Sandbox Code Playgroud)

很多时候我需要知道如何处理对象甚至我们可以做到与否.

java getter accessor getter-setter

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

进攻型二传手、防守型二传手

我目前正在学习java,发现一些我在作业说明中找不到答案的东西。

该指令描述了 getter 和 setter 方法如下:

  • getPic:返回图片(进攻性吸气剂)
  • setPic:创建给定图片的副本(防守二传手)

我找不到进攻型进攻手防守型二传手的含义的答案。

有人可以向我解释一下吗?

非常感谢!

java getter-setter

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

如何在Angular中创建Getter Setter

我正在使用Angular7。我想在打字稿中获取并设置变量

我的代码login.service.ts

import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root'
})
export class LoginService {
  public username:string;
  public token:string;
  public fullname:string;
  constructor() { }
  set setUser(val: string){
    this.username = val;
  }
  set setToken(val:string){
    this.token=val;
  }
  set setFullName(val:string){
    this.fullname=val;
  }
  get getUser():string{
    return this.username;
  }
  get getToken():string{
    return this.token;
  }
  get getFullName():string{
    return this.fullname;
  }
}
Run Code Online (Sandbox Code Playgroud)

和我的代码在Login.Component.ts中

fLogin(user, pass) {
    this.users.setUser=user;
}
Run Code Online (Sandbox Code Playgroud)

还有我在Customer.Component.ts中的代码

import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { Http, Headers } from "@angular/http";
import …
Run Code Online (Sandbox Code Playgroud)

getter-setter typescript angular

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

为什么这两个示例中 getter 的工作方式不同?

为什么当我们有这个

function Car() {
  const fuel = 50
  return {
    fuel,
  }
}

const car = Car()
console.log(car.fuel) // 50
car.fuel = 3000
console.log(car.fuel) // 3000
Run Code Online (Sandbox Code Playgroud)

如果我们添加一个吸气剂,则燃料属性无法被静音:

function Car() {
  const fuel = 50
  return {
    get fuel() {
      return fuel
    },
  }
}

const car = Car()
car.fuel = 3000
console.log(car.fuel) // 50
Run Code Online (Sandbox Code Playgroud)

但是,如果我在一个孤立的对象上尝试它,它不会以同样的方式工作:

const person = {
  _firstName: 'John',
  _lastName: 'Doe',
  get fname() {
    return this._firstName;
  }
}
 
console.log(person.fname); // prints 'John'
person._firstName = 'Juan';
console.log(person.fname); //prints 'Juan' …
Run Code Online (Sandbox Code Playgroud)

javascript getter-setter

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

使用getter setter时的double值

让我们假设我有一个具有短定义的getter setter的字段,如下所示:

public double MyDouble { get; set; }
Run Code Online (Sandbox Code Playgroud)

我想检查这个MyDouble值是否设置.我不能这样检查:

if(MyDouble == null) .... else ....
Run Code Online (Sandbox Code Playgroud)

因为double变量不能获得null值.那么如果设置与否,我怎么能检查这个值呢?我是否必须使用保持isSet状态的第二个变量,或者double类型是否有任何默认值?
谢谢.

c# getter-setter

-1
推荐指数
1
解决办法
476
查看次数

如何在C中的main函数中使用包含scanf()的函数

标题描述了我正在尝试做的事情,但我收到的错误消息是我从未声明过base1.我实际上知道这一点,但我不确定如何真正解决问题.

int getBase1(void);
int setBase1(double);

int main(void){
    getBase1();
    setBase1(base1);
}

int getBase1(void){
    printf("Please enter the length of a base: ");
    return;
}

int setBase1(double base1){
    scanf("%lf", &base1);
}
Run Code Online (Sandbox Code Playgroud)

c printf scanf getter-setter

-1
推荐指数
1
解决办法
1281
查看次数